Vous êtes sur la page 1sur 8

Mini-Projet de programmation C

1. Présentation générale

Le développement d'un projet est un moyen de progresser dans l'apprentissage d'un langage de
programmation. C'est dans cet esprit qu'il vous est proposé. Il doit vous permettre de consolider
les connaissances acquises en cours et TP et d’en acquérir de nouvelles. Il s'agit de produire un
programme (fichiers source et un exécutable testé et opérationnel avec la documentation), dont
le sujet est présenté dans la liste des mini projets. Le développement de ce programme se fera
en langage C.

2. Objectifs du mini projet

Valider les compétences du cours « Algorithmique et Programmation C » par l’écriture d’un


programme original d’environ 100 lignes en langage C correspondant à 6 heures de travail
effectives. Indépendamment du thème choisi, le programme à réalisé devra faire apparaître
l’emploi d’éléments du langage C abordés en séance de cours et TP. On peut citer par exemple :

-utilisation de sous-programmes paramétrés,

- tableaux et pointeurs,

-passage de paramètres par adresse,

-structures de données,

- opération sur des fichiers ...

3. Organisation

Les étudiants travaillent en binôme ou trinôme. Ce qu'il faut rendre :

- Le programme source complet largement commenté

-Un exécutable testé et opérationnel

- Une présentation (10 slides) présentant le travail effectué :

• Organisation du programme : découpage en fonctions, rôle de ces fonctions,


explications du programme
• Mode d’emploi du programme
• Bilan qualitatif du travail, difficultés rencontrées, etc.
4. Évaluation du projet

Elle repose sur les éléments suivants :

-Le programme source : Respect de l’énoncé, Qualité technique du programme : découpage en


fonctions, instructions, algorithmes, efficacité, gestion des erreurs…

-Présentation du programme : indentation, commentaires et nommage, organisation du


programme et son mode d’emploi

-Démonstration du programme : Interrogation individuelle sur le travail réalisé .

5. Les fiches descriptives des mini projets

Mini Projet Numéro 1 en C : gestion de stock

Soit à développer une application pour la gestion de stock des ordinateurs d’une société de
vente de matériel informatique. On souhaite représenter sous forme d’un tableau, nommé
TabOrd (taille maximum 100), la liste des ordinateurs.

Un ordinateur est identifié par : référence, marque, capacité mémoire, capacité disque, système
d’exploitation.

1) Définir une structure Ordinateur.

2) Ecrire une fonction Ajouter() qui permet d’ajouter un ordinateur au tableau TabOrd.

3) Ecrire une fonction Afficher() qui affiche tous les ordinateurs de TabOrd.

4) Ecrire une fonction Modifier() qui permet de modifier la capacité mémoire d’un ordinateur
dont la référence est donnée en paramètre.

5) Ecrire une fonction Supprimer() qui prend en paramètre la référence de l’ordinateur et le


retire du TabOrd .La fonction affiche un message d’erreur si la référence n’existe pas.

6) Ecrire une fonction Trier() qui permet de trier le tableau TabOrd par marque dans l’ordre
croissant.

7) Ecrire une fonction Sauvegarder() qui permet de d’enregistrer les ordinateurs du tableau
dans un fichier .txt.

8) Ecrire une fonction Lire() qui permet de lire les informations du fichier et les afficher en
console.
9) Ecrire une procédure main() qui propose le dialogue suivant :

1- Ajouter un ordinateur.

2- Afficher les ordinateurs.

3- Modifier un ordinateur.

4- Supprimer un ordinateur.

5- Trier le tableau TabOrd.

6- Sauvegarder les ordinateurs.

7- Lire les ordinateurs.

8- Quitter le programme.

Mini Projet Numéro 2 en C : Gestion d’un compte bancaire :

Soit à développer une application pour la gestion d’un compte bancaire.

1- définir un type structure DATE qui contient trois membres entiers : jour, mois et année
2- définir un type structure CLIENT qui contient les champs suivants :
• numero_cmpt : entier (numéro de compte)
• nom : chaîne de caractères (nom d'un client)
• der_operation : caractère (R : Retrait, V : Virement)
• anc_solde : réel (ancien solde)
• nouv_solde : réel (nouveau solde)
• date : DATE (jj mm aa)
3- Écrire une fonction ouvrir qui ouvre un fichier existant ou le crée sinon
4- Écrire une fonction fermer qui ferme le fichier
5- Écrire une fonction ajout qui ajoute un client
6- Écrire une fonction affiche qui affiche le compte d'un client. Cette fonction doit être,
capable de chercher un client soit par son nom soit par son numéro de compte.
7- Écrire une fonction lister qui affiche tous les comptes des clients
8- écrire une fonction operation qui réalise les retraits, les virements et les mises à jour des
comptes.
9- Ecrire la fonction main() qui propose le dialogue suivant :
• Ouvrir le compte d’un client.
• Fermer le compte d’un client.
• Ajouter un compte client.
• Rechercher et afficher le compte d’un client
• Lister et afficher tous les comptes des clients
• Réaliser les retraits, les virements et les mises à jour des comptes.

Mini Projet Numéro 3 en C : gestion des étudiants en une matière donnée :

Soit à développer une application pour la gestion des étudiants en une matière donnée.

1- Définir un type structure ETUDIANT qui contient les champs suivants :


• nom et prénom : chaîne de caractères
• numéro d’inscription : entier
• moyenne : réel
• niveau : entier
• filière : chaîne de caractères
2- Écrire une fonction saisie_etudiant qui permet la saisie des données des étudiants.
3- Écrire une fonction enregistrer_etudiant qui enregistre les données des étudiants dans un
tableau puis dans un fichier.
4- Écrire une fonction rechercher_etudiant_par_num-ins
5- Écrire une fonction rechercher_un_etudiant_par_nom
6- Écrire une fonction rechercher_un_etudiant_par_prn
7- Écrire une fonction afficher_les_etudiants_admis
8- Ecrire une fonction classement qui effectue un classement des noms par ordres
alphabétiques et par ordre de mérite dans le tableau.
9- Écrire une fonction afficher_les_etudiants_d_une_filiele tableau.re
10- Écrire une fonction modifier-un-étudiant
11- Écrire une fonction ajouter-un-étudiant
12- Écrire une fonction supprimer-un-étudiant

Ecrire une fonction Bonus qui :

• ajoute 1 aux étudiants dont les notes sont compris entre 03 et 09


• ajoute 1,5 aux étudiants dont les notes sont compris entre 10 et 14
• Et 2 aux étudiants dont les notes sont supérieurs ou égale a 15
13- Ecrire la fonction main() qui propose le dialogue suivant :
• Ajouter un étudiant.
• Modifier un étudiant.
• Afficher les étudiants.
• Classer les étudiants.
• Ajouter les bonus aux étudiants
• Supprimer un étudiant.

Mini Projet Numéro 4 en C : gestion d’agence de location de voitures

L'objectif de cet exercice est de créer un programme en langage C pour gérer le parc de voitures
d'une agence de location. Une voiture est caractérisée par les éléments suivants:

• le modèle de la voiture,
• son n° d’immatriculation,
• son kilométrage,
• son état (disponible ou en cours de location).

Choix 1 : Le programme demande le n° d’immatriculation de la voiture à louer. Si la voiture


n'existe pas, le programme signale une erreur; s'elle est déjà loué, le programme indique qu'elle
est déjà en location sinon la voiture est marquée comme étant en location.

Choix 2 : Le programme demande le n° d’immatriculation de la voiture à retourner. Si la voiture


n'existe pas, le programme signale une erreur; si la voiture n'était pas marquée comme étant en
location, le programme le stipule sinon le programme demande le nombre de kilomètres
effectués et les rajoute au kilométrage de la voiture. La voiture est alors marquée comme étant
disponible.

Choix 3 : Le programme demande le n° d'immatriculation de la voiture dont on désire connaitre


l'état. Si la voiture n'existe pas dans le parc, une erreur est signalée sinon son modèle, son n°
d'immatriculation, son kilométrage et son état de location sont affichés.

Choix 4 : Le programme affiche un état résumé de l'ensemble du parc de voitures :


• le nombre total de voitures,
• le nombre de voitures en location et leur n° d'immatriculation,
• le nombre de voitures disponible et leur n° d'immatriculation,
• le kilométrage moyen de l'ensemble des voitures.

Choix 5 : Le programme stocke l’état de parc de voitures affichée dans le choix 4 dans un fichier
texte, le nom de fichier sera lu au clavier.

Après l'exécution d'une de ces cinq options, le programme réaffiche le menu.

Travail demandé :

Chaque option du menu devra être implémentée sous la forme d'une fonction séparée de façon
à faciliter l'écriture du programme.

1. Définir la structure Voiture.


2. Créer une fonction PARC permettant de créer le parc de n voitures, par la suite cette
fonction sera appelée au début de programme
3. Créer une fonction LOUER permettant de louer une voiture (Voir Choix 1):
4. Créer une fonction RETOUR permettant le retour d’une voiture (Voir Choix 2) :
5. Créer une fonction ETAT_voiture permettant de renvoyer l’état d’une voiture (Voir
choix 3)
6. Créer une fonction ETAT_parc permettant d’afficher l’état de parc de voitures (Voir
choix 4)
7. Créer une fonction enregistre_etat_parc permettant de sauvegarder l’état de parc de
voitures dans un fichier texte (Voir choix 5)
8. Ecrire la fonction main() qui propose le dialogue suivant :
• Créer un parc de n voitures.
• Louer une voiture
• Retourner une voiture
• Renvoyer l’état d’une voiture
• Renvoyer l’état du parc
• Sauvegarder l’état du parc

Mini Projet Numéro 5 en C : gestion d’un cabinet médical :

Développer une application en C qui assure la gestion des patients dans un cabinet médical en
gérant les fiches des patients et leurs rendez-vous .
Un patient est caractérisé par: le nom, le prénom et un rendez-vous de

type entier indiquant si le patient a un rendez-vous ou pas: 0 si le patient est sans

rendez-vous, 1 si la patient est avec rendez-vous.

Avant d’être consultés par le médecin, les patients sont entrés dans une salle d’attente qui sera
modélisée par un tableau de patients. Une secrétaire fait entrer les patients ayant un rdv=1 selon
leur ordre d’arrivée, ensuite elle fait entrer les autres patients (ceux dont le rdv=0) selon leur
ordre d’arrivée aussi.

Le travail demandé :

1. Définir la structure de données Patient


2. créer la fonction saisirPatient qui permet de saisir un seul patient
3. créer la fonction afficherPatient qui permet d'afficher un seul patient
4. créer la fonction enregistrerPatient qui permet d'enregistrer un patient dans un fichier
archive.txt
5. créer la fonction lireDernierPatient qui permet de retourner les informations du
dernier patient à partir d'un fichier .
6. créer la fonction AjoutPatient, qui permet d’ajouter un nouveau patient dans le fichier
archive.txt
7. créer la fonction RendezVous qui compte et retourne le nombre de patients avec
rendez-vous, et le nombre de patients sans rendez-vous.
8. Créer la fonction ConsulterSalleAttente qui affiche tout d’abord les patients avec
rendez-vous, ensuite les patients sans rendez-vous.
9. Créer la fonction SupprimePatient , qui permet de supprimer un patient de la liste des
rdv après la consultation.
10. Ecrire la fonction main() qui propose le dialogue suivant :
• Saisir un patient.
• Afficher un patient.
• enregistrer un patient.
• Lire dernier patient.
• Ajouter patient.
• Compter le nombre de patients avec ou sans rdv
• Consulter la salle d’attente
• Supprimer un patient

Vous aimerez peut-être aussi