Vous êtes sur la page 1sur 2

MINI PROJET C 1A INFO Mme Maroua Ben Slimane

ENIT 1A TEL Mme Salsabil Besbes

Mini Projet N°7 :


Gestion de location de voitures

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 ce document. Le développement de ce programme se
fera en langage C.
Objectifs du projet : Valider les compétences du cours « Programmation Procédurale en C » par
l’écriture d’un programme original en langage C, correspondant à 21 heures de travail effectif.
Organisation : Les étudiants travaillent en binôme.
A rendre :
 Le programme source complet largement commenté
 Un exécutable testé et opérationnel
 Un rapport présentant le travail effectué :
1. Organisation du programme : découpage en fonctions, rôle de ces fonctions,
explications du programme
2. Mode d’emploi du programme
3. Bilan du travail, difficultés rencontrées, etc.
Évaluation du projet
Elle repose sur les éléments suivants :
 Le programme source :
 Respect de l’énoncé, originalité du thème proposé,
 Qualité technique du programme : découpage en fonctions, instructions, algorithmes,
efficacité, gestion des erreurs…
 Présentation du programme : indentation, commentaires et nommage
 Documentation fournie
 Organisation du programme et son mode d’emploi

Enoncé :

On se propose de créer une application de gestion de location des voitures. Cette application permet à
l’utilisateur de gérer les voitures et les locataires.
Le modèle à mettre en œuvre contiendra deux structures différentes dont les champs contiennent à
minimum les informations données ci-dessous. Vous devrez sans doute ajouter des champs dans ces
structures selon les besoins.

1
Voiture Locataire
typedef struct SVoiture { typedef struct SLocataire {
int Num_imma; int Id_loc;
char Marque [CMAX] ; char Nom[CMAX] ;
char Modele [CMAX] ; char Prenom[CMAX] ;
int Kilometrage ; char Adresse [CMAX] ;
int Etat ; }SLocataire ;
double Prix_location ;
}SVoiture ;

La fonction main() devra contenir les différents tableaux de structures (ce ne seront pas des variables
globales). Vous devrez enregistrer les données de ces structures dans des fichiers, en utilisant le
méthodes adéquates (fscanf() et fprintf()). Une version du code avec la manipulation des listes
chaînées est également envisagée après la première version avec les tableaux.

Remarques :
- Une voiture ne peut être louée que par un seul client à la fois

- Un locataire peut louer plusieurs voitures


- La suppression d'un élément du tableau implique de décaler la « case libre » vers la fin du tableau
afin de supprimer les « trous » du tableau.

Votre programme devra proposer un menu comme celui-ci :

(1) Gestion des voitures :


- Ajouter, modifier ou supprimer une voiture
- Afficher l’état d’une voiture (disponible ou en cours de location)

(2) Gestion des locataires


- Ajouter, modifier ou supprimer un locataire
- Rechercher un locataire par son identifiant ou par son nom
- Afficher la liste des locataires par ordre alphabétique

(3) Gestion des locations


- Louer une voiture
- Rendre une voiture
- Afficher un état résumé de l’ensemble du parc de voitures :
 Le nombre total de voitures
 Le nombre total de voitures en location et leur numéro d’immatriculation
 Le nombre total de voitures disponibles et leur numéro d’immatriculation
 Le kilométrage moyen de l’ensemble des voitures

(4) Quitter le programme