Mini projet Hôtel

Signaler
-
Twinuts
Messages postés
5345
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
11 février 2020
-
hello
Voici mon sujet
je suis débutant Java et je ne sais pas trop par ou commencer


On souhaite développer un programme qui permet la gestion des réservations de chambre pour un hôtel qui contient 20 chambres. Les fonctions à assurer sont :
- Au lancement de notre programme, on crée une liste de chambres, qui sont réservées (1) ou libres (0) en utilisant la fonction randInt.
- Afficher l’état de l’hôtel
- Afficher le nombre de chambres réservées
- Afficher le nombre de chambres libres
- Afficher le numéro de la première chambre vide
- Afficher le numéro de la dernière chambre vide
- Réserver une chambre
- Libérer une chambre

Pour cela, nous devons afficher le menu suivant à l’utilisateur de notre programme :

------------------------------- MENU HOTEL CDA JAVA ------------------------------------------------
A- Afficher l’état de l’hôtel
B- Afficher le nombre de chambres réservées
C- Afficher le nombre de chambres libres
D- Afficher le numéro de la première chambre vide
E- Afficher le numéro de la dernière chambre vide
F- Réserver une chambre (Le programme doit réserver la première chambre vide)
G- Libérer une chambre (Le programme doit libérer la dernière chambre occupée)
Q- Quitter
---------------------------------------------------------------------------------------------------------------------
Votre choix :

Règles métier
Le menu doit s’afficher en boucle tant que l’utilisateur n’a pas choisi l’option « Quitter ».
Les deux options « F et G » doivent être protégées par un login et mot de passe stockés dans des variables.
Pour réserver une chambre, le programme doit réserver la première chambre vide.
Pour libérer une chambre, le programme doit libérer la dernière chambre occupée

4 réponses

Messages postés
161
Date d'inscription
mardi 4 juillet 2017
Statut
Membre
Dernière intervention
14 février 2020
4
Salut,
Avant la réception du message : "On ne peut pas faire tes exercices à ta place…"
Commence à faire un Graphset avec toutes tes conditions, et commence le programme avec l'affichage du menu, pour motiver ta demande.
Assigne tes variables et sous-programmes de ton programme.

Sinon, fait des recherches sur google pour complémenter le manque de préparation que tes formateurs ont la flemme de t'enseigner.

Le programmation ne s'invente pas, et l'immersion directe n'est qu'une façon de masquer le manque de temps ou l'incompétence de personnes qui n'ont aucune idée de leur rôle didactique pour lequel ils sont payé.

Vu l'orientation générale du concept, le principe du "tu te démerdes!" et voué à enseigner la paresse et la tricherie… et non la création, la construction et la concrétisation d'idées personnelles.

Ceci est un ressenti personnel, mais les modérateurs te donneront des liens pour t'orienter vers des liens susceptibles de complémenter les lacunes de ton prof.
Messages postés
5345
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
11 février 2020
90
Salut,

Et, tu es bloqué sur quoi exactement ? Langage ? Méthodologie ? Algorithme?
Quand tu dis débutant, tu entends, débutant au sens "je ne connais absolument rien au dev" ou tu as des bases" ?

Sinon, à la louche et au plus simple, tu as besoin :
- de capturer les saisies clavier
- d'afficher des messages à la console
- d'une liste pour stocker tes chambres
- d'une classe chambre avec dedans un entier représentant son numéro et un boolean indiquant si elle est libre ou prise.
- d'effectuer des itérations sur ta liste.
- de deux variables supplémentaires (login et password)
Hello @Twinuts.
Merci pour ta réponse
jai des bases. je sais faire mes attributs, mes constructeurs, mes get et set et toSring
mais jai énormément du mal a retranscrire mon énoncer en code. par ou commencer quand je fais les méthodes
Messages postés
5345
Date d'inscription
dimanche 4 mai 2003
Statut
Modérateur
Dernière intervention
11 février 2020
90
Salut,

Du coup avec ce que je t'ai donné dans mon précédent poste tu devrais y arriver non ?

Pour t'avancer ci-apres le début de ton application avec le menu (code au plus simple):
import java.util.Scanner;
import java.io.IOException;

public class Hotel {

  private static void displayMenu(String lastMessage) throws IOException, InterruptedException {
    /* efface la console */
    if(System.getProperty("os.name").startsWith("Windows"))
      new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
    else {
      /* Linux */
      System.out.print("\033[H\033[2J");  
      System.out.flush();  
    }
    System.out.println("------------------------------- MENU HOTEL CDA JAVA ------------------------------------------------");
    System.out.println("A- Afficher l’état de l’hôtel");
    System.out.println("B- Afficher le nombre de chambres réservées");
    System.out.println("C- Afficher le nombre de chambres libres");
    System.out.println("D- Afficher le numéro de la première chambre vide");
    System.out.println("E- Afficher le numéro de la dernière chambre vide");
    System.out.println("F- Réserver une chambre (Le programme doit réserver la première chambre vide)");
    System.out.println("G- Libérer une chambre (Le programme doit libérer la dernière chambre occupée)");
    System.out.println("Q- Quitter");
    System.out.println("---------------------------------------------------------------------------------------------------------------------");
    if(lastMessage != null) {
      System.out.println("Précédent: " + lastMessage);
    }
    System.out.print("Votre choix :");

  }
  
  public static void main(String ...args) throws IOException, InterruptedException { /* ici je ne capture pas les exceptions */
    boolean stop = false;
    String lastMessage = null;
    do {
      displayMenu(lastMessage);
      Scanner sc = new Scanner(System.in);
      switch(Character.toUpperCase(sc.next().charAt(0))) { /* upper case pour plus de souplesse */
        case 'A':
          lastMessage = "Choix A";
          break;
        case 'B':
          lastMessage = "Choix B";
          break;
        case 'C':
          lastMessage = "Choix C";
          break;
        case 'D':
          lastMessage = "Choix D";
          break;
        case 'E':
          lastMessage = "Choix E";
          break;
        case 'F':
          lastMessage = "Choix F";
          break;
        case 'G':
          lastMessage = "Choix G";
          break;
        case 'Q':
          stop = true;
          System.out.println("Bye :(");
          break;
        default:
          lastMessage = "Choix incorrect";
          break;
      }
    } while(!stop);
  }
}