0% ont trouvé ce document utile (0 vote)
4 vues9 pages

Tpjava

Ce document présente le développement d'un système de gestion de location de voitures en Java, visant à suivre le statut des véhicules et à calculer les prix de location. Il décrit les objectifs pédagogiques, les fonctionnalités du programme, ainsi que les compétences développées, telles que la manipulation des collections Java et la création d'une interface utilisateur. Le code Java est également inclus, illustrant la structure et les méthodes utilisées pour gérer la flotte de voitures.

Transféré par

Rahma Mrad
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
4 vues9 pages

Tpjava

Ce document présente le développement d'un système de gestion de location de voitures en Java, visant à suivre le statut des véhicules et à calculer les prix de location. Il décrit les objectifs pédagogiques, les fonctionnalités du programme, ainsi que les compétences développées, telles que la manipulation des collections Java et la création d'une interface utilisateur. Le code Java est également inclus, illustrant la structure et les méthodes utilisées pour gérer la flotte de voitures.

Transféré par

Rahma Mrad
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

République Tunisienne

*****
Ministère de l’Enseignement Supérieur et la Recherche Scientifique
*****
Université de Monastir
*****
L'Institut Supérieur d'Informatique et de Mathématiques de Monastir

Mastère professionnelle
Filière : Instrumentation et Génie Industrielle

Compte rendu du 1er TP JAVA

Développement du Système
de location de Voitures

Présenté Par : Encadré Par :


Abdallah Siwar Mme. Sirine Belguith
Mbarki Manar

Année Universitaire 2024 – 2025


1. Introduction

Ce compte rendu présente le développement d’un système de gestion de location de


voitures en Java. L’objectif est de concevoir une solution permettant de suivre le statut
des véhicules (disponible, louée, en maintenance) et de calculer les prix de location.

2. Objectif du TP : Gestion d’une Flotte de Voitures en Java

L’objectif principal est la mise en place d’un programme Java pour gérer une flotte de
voitures de location en mettant en pratique diverses compétences en programmation
orientée objet.
Objectifs pédagogiques :

a. Manipulation des collections Java :


o Utilisation d’ArrayList pour stocker et gérer les informations des véhicules.

b. Interaction avec l'utilisateur :


o Développement d’une interface en ligne de commande permettant aux clients et
gérants d’interagir avec le système.
c.

Gestion des données et algorithmes de recherche :


o Implémentation de méthodes permettant de filtrer et afficher les voitures
disponibles, de modifier leur état et de calculer le coût de location.

2
d. Modularité du code :
o Organisation des fonctionnalités sous forme de méthodes distinctes
(initialiserVoitures(), afficherVoituresDisponibles(), changerStatut(),
calculerPrix()).
o Faciliter la réutilisation et la maintenance du code.

3
e. Gestion des rôles utilisateurs :
o Différencier les interactions entre gérant et client grâce à un menu
interactif.
o Assurer un accès restreint à certaines fonctionnalités (ex. seul le
gérant peut changer l’état d’une voiture).

4
3. Développement du Code Java
Le programme repose sur la classe Car, qui structure la gestion des véhicules et propose
les fonctionnalités suivantes :

 Initialisation des voitures : Création d’une liste avec les immatriculations,


états, dates de mise en service et tarifs journaliers.

 Affichage des voitures disponibles : Présentation des véhicules en état «


Disponible » avec leurs caractéristiques.

 Modification du statut : Permet de mettre à jour l’état d’un véhicule en


saisissant son immatriculation.

 Calcul du prix de location : Détermination du coût total en fonction du


nombre de jours loués.

 Interface utilisateur : Menu permettant aux gérants de modifier les


informations et aux clients de consulter les disponibilités et calculer un prix.

5
4. Discussions

a. Fonctionnalités implémentées :
Le programme fonctionne conformément aux attentes : gestion efficace des voitures,
affichage des données pertinentes et calcul précis des coûts de location.
b. Observations techniques :

 L’utilisation d’ArrayList permet une gestion dynamique des véhicules.


 L’interface en ligne de commande est simple mais efficace pour interagir avec le
programme.
5. Conclusion : Compétences développées

✅ Maîtrise des ArrayList pour la gestion des données dynamiques.

✅ Développement d’une interface utilisateur interactive via la console.

✅ Application des structures conditionnelles (if-else) et des boucles (for).

✅ Utilisation de la classe Scanner pour gérer les entrées utilisateur.

✅ Écriture d’un code structuré, modulaire et réutilisable.

6. Résultat

6
7. Annexe

 Code Java :

package test;
import [Link];
import [Link];

public class Car {

static ArrayList<String> immat = new ArrayList<>();


static ArrayList<String> etat = new ArrayList<>();
static ArrayList<String> dateServiceList = new ArrayList<>();
static ArrayList<Double> prixParJour = new ArrayList<>();

static void initialiserVoitures() {


[Link]("AB-123-CD");
[Link]("Disponible");
[Link]("15/06/2020");
[Link](75.0);

[Link]("XY-456-ZT");

7
[Link]("Louée");
[Link]("02/11/2019");
[Link](60.0);

[Link]("CD-789-EF");
[Link]("En maintenance");
[Link]("25/03/2021");
[Link](90.0);

[Link]("GH-321-JK");
[Link]("Disponible");
[Link]("10/09/2018");
[Link](65.0);

[Link]("KL-258-MN");
[Link]("Louée");
[Link]("12/01/2022");
[Link](85.0);
}

static void afficherVoituresDisponibles() {


[Link]("=== Voitures Disponibles ===");
for (int i = 0; i < [Link](); i++) {
if ([Link](i).equalsIgnoreCase("Disponible")) {
[Link]("Immatriculation: " + [Link](i) + " | État: " + [Link](i) +
" | Date Service: " + [Link](i) + " | Prix/Jour: " + [Link](i) + "€");
}
}
}

static void changerStatut() {


Scanner scanner = new Scanner([Link]);
[Link]("Entrez l'immatriculation de la voiture à modifier : ");
String immatriculation = [Link]();

for (int i = 0; i < [Link](); i++) {


if ([Link](i).equalsIgnoreCase(immatriculation)) {
[Link]("État actuel: " + [Link](i));
[Link]("Nouveau statut (Disponible, Louée, En maintenance) : ");
[Link](i, [Link]());
[Link]("Statut mis à jour avec succès !");
return;
}
}
[Link]("Voiture non trouvée.");
}

static void calculerPrix() {


Scanner scanner = new Scanner([Link]);
[Link]("Entrez l'immatriculation de la voiture : ");
String immatriculation = [Link]();

for (int i = 0; i < [Link](); i++) {


if ([Link](i).equalsIgnoreCase(immatriculation)) {
[Link]("Entrez le nombre de jours de location : ");

8
int jours = [Link]();
double prixTotal = jours * [Link](i);
[Link]("Le prix total est : " + prixTotal + "€");
return;
}
}
[Link]("Voiture non trouvée.");
}

public static void main(String[] args) {


Scanner scanner = new Scanner([Link]);
initialiserVoitures();

[Link]("0 : Gérant");
[Link]("1 : Client");
[Link]("Entrez votre choix : ");

int choixUtilisateur = [Link]();


[Link]();

if (choixUtilisateur == 0) {
[Link]("0 : Calculer le coût");
[Link]("1 : Changer l'état d'une voiture");
[Link]("Entrez votre choix : ");
int choixGerant = [Link]();
[Link]();

if (choixGerant == 0) {
calculerPrix();
} else if (choixGerant == 1) {
changerStatut();
} else {
[Link]("Option non reconnue.");
}
} else if (choixUtilisateur == 1) {
[Link]("Bonjour cher(e) client(e). Quel est votre choix ?");
[Link]("1 : Voir les voitures disponibles");
[Link]("2 : Calculer le prix d'une location");

int choixClient = [Link]();


[Link]();

if (choixClient == 1) {
afficherVoituresDisponibles();
} else if (choixClient == 2) {
calculerPrix();
} else {
[Link]("Option non reconnue.");
}
} else {
[Link]("Utilisateur non reconnu.");
}
[Link]();
}
}

Vous aimerez peut-être aussi