TD2 : Étude de Cas : Application de Gestion de
Location de Voitures
Description du Problème
Une agence de location de voitures souhaite une application pour gérer ses véhicules, ses
clients, et les locations. L’application doit permettre d’enregistrer de nouvelles voitures, de
gérer des clients, et d’enregistrer et afficher les locations de voitures.
Objectifs
1. Modéliser les voitures et les clients avec des informations pertinentes.
2. Permettre la location de voitures aux clients en vérifiant la disponibilité.
3. Afficher les informations des clients, des voitures disponibles et des locations
actives.
4. Utiliser les principes de la POO, comme les classes, l’encapsulation, les constructeurs,
et les méthodes.
Classes et Fonctionnalités
Classe Voiture
Représente une voiture dans le système.
Attributs :
o string marque
o string modele
o string immatriculation (doit être unique pour chaque voiture)
o bool estDisponible (indique si la voiture est disponible pour location)
Méthodes :
o afficherDetails() : Affiche les informations de la voiture.
o estDisponiblePourLocation() : Renvoie true si la voiture est disponible.
o changerDisponibilite(bool dispo) : Change la disponibilité de la voiture.
Classe Client
Représente un client de l’agence.
Attributs :
o string nom
o string prenom
o int idClient (identifiant unique pour chaque client)
Méthodes :
o afficherDetails() : Affiche les informations du client.
Classe Location
Représente une location de voiture pour un client.
Attributs :
o Client client
o Voiture voiture
o string dateDebut
o string dateFin
Méthodes :
o afficherDetails() : Affiche les détails de la location.
Classe AgenceLocation
Gère les voitures, les clients, et les locations.
Attributs :
o vector<Voiture> voitures
o vector<Client> clients
o vector<Location> locations
Méthodes :
o ajouterVoiture(const Voiture &voiture) : Ajoute une voiture à l'agence.
o ajouterClient(const Client &client) : Ajoute un client à l'agence.
o louerVoiture(int idClient, const string &immatriculation, const
string &dateDebut, const string &dateFin) : Permet à un client de
louer une voiture si elle est disponible.
o afficherVoituresDisponibles() : Affiche toutes les voitures disponibles
pour location.
o afficherClients() : Affiche la liste des clients.
o afficherLocations() : Affiche les locations en cours.