jul
-
30 janv. 2020 à 09:48
Twinuts
Messages postés5374Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention 3 mars 2023
-
3 févr. 2020 à 13:18
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
Twinuts
Messages postés5374Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention 3 mars 2023110 30 janv. 2020 à 14:24
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
Twinuts
Messages postés5374Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention 3 mars 2023110 3 févr. 2020 à 13:18
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);
}
}
JeuDuTaquin
Messages postés247Date d'inscriptionmardi 4 juillet 2017StatutMembreDernière intervention 3 février 20237 30 janv. 2020 à 13:43
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.