0% ont trouvé ce document utile (0 vote)
17 vues3 pages

TP1

Le document présente un système de gestion de réservations de salles en Java, incluant des classes pour les utilisateurs (Admin et Client), les salles, et les réservations. Il permet d'ajouter des salles, d'afficher celles disponibles, et de réserver une salle pour un client, tout en gérant la disponibilité des salles. Le programme principal illustre l'ajout de salles et la réservation par un client, avec un exemple de tentative de réservation d'une salle déjà réservée.

Transféré par

aromitiafinoana
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 TXT, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
17 vues3 pages

TP1

Le document présente un système de gestion de réservations de salles en Java, incluant des classes pour les utilisateurs (Admin et Client), les salles, et les réservations. Il permet d'ajouter des salles, d'afficher celles disponibles, et de réserver une salle pour un client, tout en gérant la disponibilité des salles. Le programme principal illustre l'ajout de salles et la réservation par un client, avec un exemple de tentative de réservation d'une salle déjà réservée.

Transféré par

aromitiafinoana
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 TXT, PDF, TXT ou lisez en ligne sur Scribd

import java.util.

*;

class User {
protected int id;
protected String nom;

public User(int id, String nom) {


this.id = id;
this.nom = nom;
}
}

class Admin extends User {


private String motDePasse;

public Admin(int id, String nom, String motDePasse) {


super(id, nom);
this.motDePasse = motDePasse;
}
}

class Client extends User {


private String numero;

public Client(int id, String nom, String numero) {


super(id, nom);
this.numero = numero;
}
}

class Salle {
private int numero;
private boolean disponibiliteParHeure;
private double prixParHeure;

public Salle(int numero, double prixParHeure) {


this.numero = numero;
this.prixParHeure = prixParHeure;
this.disponibiliteParHeure = true;
}

public boolean estDisponible() {


return disponibiliteParHeure;
}

public void reserver() {


this.disponibiliteParHeure = false;
}

public double getPrixParHeure() {


return prixParHeure;
}

public int getNumero() {


return numero;
}
}

class Reservation {
private int id;
private Client client;
private Salle salle;
private int heures;
private double montantTotal;

public Reservation(int id, Client client, Salle salle, int heures) {


this.id = id;
this.client = client;
this.salle = salle;
this.heures = heures;
this.montantTotal = heures * salle.getPrixParHeure();
salle.reserver();
}

public double getMontantTotal() {


return montantTotal;
}

public void afficherReservation() {


System.out.println("Reservation #" + id);
System.out.println("Client: " + client.nom);
System.out.println("Salle: " + salle.getNumero());
System.out.println("Durée: " + heures + " heures");
System.out.println("Total: " + montantTotal + " Ar");
}
}

class GestionReservations {
private List<Salle> salles = new ArrayList<>();
private List<Reservation> reservations = new ArrayList<>();
private int compteurReservation = 1;

public void ajouterSalle(Salle salle) {


salles.add(salle);
}

public void afficherSallesDisponibles() {


System.out.println("Salles disponibles :");
for (Salle salle : salles) {
if (salle.estDisponible()) {
System.out.println("Salle #" + salle.getNumero() + " - Prix: " +
salle.getPrixParHeure() + " Ar/h");
}
}
}

public void reserverSalle(Client client, int numeroSalle, int heures) {


for (Salle salle : salles) {
if (salle.getNumero() == numeroSalle && salle.estDisponible()) {
Reservation reservation = new Reservation(compteurReservation++,
client, salle, heures);
reservations.add(reservation);
System.out.println("✅ Réservation effectuée !");
reservation.afficherReservation();
return;
}
}
System.out.println("❌ Salle indisponible !");
}
}

public class Main {


public static void main(String[] args) {
GestionReservations gestion = new GestionReservations();

// Ajout de salles
gestion.ajouterSalle(new Salle(1, 1000));
gestion.ajouterSalle(new Salle(2, 1500));

// Affichage des salles disponibles


gestion.afficherSallesDisponibles();

// Création d'un client


Client client1 = new Client(1, "Alice", "0341234567");

// Réservation d'une salle


gestion.reserverSalle(client1, 1, 3); // Réserve la salle 1 pendant 3h

// Tentative de réservation de la même salle (devrait échouer)


gestion.reserverSalle(client1, 1, 2);
}
}

Vous aimerez peut-être aussi