Solution de gestion d'une agence de location de voitures

Page 1 sur 3Lecteur de document UniversityLib

Solution de gestion d'une agence de location de voitures

Programmation, Gestion, Logiciel · course

Agence de location de voitures

I. Etude de cas :

Nous souhaitons réaliser une solution de gestion d’une agence de location de Voitures.

Les classes principales de ce programme sont : la classe Voiture, la classe Client et la

classe Agence.

Une voiture est caractérisée par son immatriculation, sa marque et son prix. Deux voitures

sont égales s’ils ont la même immatriculation et la même marque.

Cette agence offre à ces clients la possibilité de choisir les voitures à louer en fonction de

différents critères tels que la marque et le prix aussi. Il est possible de sélectionner dans la liste

des voitures à louer toutes les voitures satisfaisant un critère donné.

Une agence est caractérisée par un nom, un parking qui permet d'enregistrer l’ensemble

des voitures de l'agence de location ainsi qu’elle souhaite sauvegarder l’ensemble de ces

clients.

Les fonctions standard pour la gestion de location de voiture sont :

 retourner la liste des voitures selon un critère défini  afficher les clients et leurs

voitures louées.

 louer une voiture à un client.

 retourner une voiture louée par un client,

 retourner l’ensemble des clients qui ont loué une (des) voiture(s)  retourner la liste

des voitures actuellement en état de location Travail demandé :

Q1. Implémenter la classe Voiture.

Publicité

Q2. Implémenter la classe Client sachant qu’un client est caractérisé par un code, un nom

et un prénom. Deux clients sont égaux s’ils ont le même code.

II. Les Interfaces

Afin de choisir les critères des voitures, on définit l’interface Critère ainsi :

public interface Critere {

boolean estSatisfaitPar(Voiture v);

}

Q3. Implémenter la classe CritereMarque (Choix selon la marque)

Q4. Implémenter la classe CriterePrix (Choix selon le prix) Q5.

Classe Main.java :

1) Un client demande de louer une voiture de marque « Renault » et un prix de 300dt/j

2) Tester parmi les voitures disponibles, est ce que l’agence peut satisfait le client

Voiture

V1

V2

V3

V24

Marque

Renault

Fiat

Renault

Publicité

Renault

Prix de location

250/j

300/j

300dt/j

500/j

III. Collection : LIST <Vector & ArrayList>

Cette agence a mis à la disposition de ces clients la possibilité de louer plusieurs

voitures, pour cela on se propose de créer une nouvelle classe ListVoitures qui permet

de stocker un ensemble de voiture dans une liste.

Cette classe permet d’ajouter, de supprimer une voiture et d’afficher la liste des

voitures.

Q6. Classe ListVoitures compléter les méthodes suivants :

1) public void addVoiture(Voiture v)

2) public void removeVoiture(Voiture v)

3) public void existe (Voiture v)

NB : pour toutes informations, voir dans le support du cours. Plus précisément, nous allons

utiliser soit un « Vector » ou un « ArrayList ».

Q7. Classe Main.java :

4) Tester les différentes méthodes d’ajout et de suppression de la classe ListeVoitures. 5)

Afficher la liste de voitures.

Publicité

6) Afficher la liste de voiture triée selon leurs immatriculations. 7) Afficher aussi la liste de

voiture triée selon leurs marques.

8) Afficher la liste de voitures (utiliser l’interface Iterator pour parcourir la liste des

voitures)

IV. Collection :SET <HashSet& TreeSet>

On se propose de créer l’ensemble de ces clients afin de sauvegarder les clients de

l’agence,

Q8. Classe SetClient compléter les méthodes suivants :

1) Créer un Set de clients

2) public void ajouterClient(Client c)

NB : Sachant qu’on s’est demandé de ne pas accepter d’ajouter deux clients identiques

3) public void supprimerClient(Client c)

4) public void trouverClient(Client c)

5) public boolean chercherClient(Client c)

6) public void afficherClient(Client c), qu’est la méthode adéquate pour parcourir le Set ?

7) Remplacer le Set déjà utilisé par un Set qui permet d’avoir des clients ordonnés selon

leurs identifiants (faire les modifications nécessaires)