Bonjour je suis débutant en C++ et bien sur mon super menu ne marche pas!
Si j'utilise les menus 1 2 ou 3 alors quand je reviens au menu 0 je ne peux plus sortir et je reviens en boucle sur l'ancien menu appelé. Je comprends pas...
merci d'avance,
ctnul mes ca deviendra bien.
PS: c'est mieux de faire des switchs imbriqués ou y'a une méthode "propre" à faire dans ce cas la?
---------------------------------------------------------------
[cpp]
#include <iostream.h>
#include "humain.h"
#include "anophele.h"
#include "tropho.h"
#include <stdlib.h>
void Menu3();int Menu2();int Menu1();int Menu0();
void Menu33() {
char x;
do {
cout<<("\n\nMENU PARAMETRES EXTERNES\n" );
cout<<("Taper un des chiffres du menu suivant:\n" );
cout<<("0. Revenir au menu de départ\n" );
cout<<("1. Modifications du taux d'humidité\n" );
cout<<("2. Ajout de vaccins\n" );
cout<<("3. Ajout de moustiquaire\n" );
cout<<("4. Revenir au menu précédent\n" );
cin>>x;
switch(x) {
case '1': cout << "\nEntrer le taux d'humidite (ex: ) : ";
cin >> Anophele::txHumidite;
break;
case '2': cout << "\nEntrer le nombre de vaccins (ex: ) : ";
cin >> Humain::nbVaccin;
break;
case '3': cout << "\nEntrer le nombre de moustiquaires (ex: ) : ";
cin >> Humain::nbMqr;
break;
case '4': Menu3();break;
case '0': Menu0();break;
default: break;
}
} while (1);
}
void Menu32() {
char x;
do {
cout<<("\n\nMENU HOTES\n" );
cout<<("Taper un des chiffres du menu suivant:\n" );
cout<<("0. Revenir au menu de départ\n" );
cout<<("1. Modification du nombre d'humains\n" );
cout<<("2. Modification du nombre d'humains infectées\n" );
cout<<("3. Modification du nombre d'anophèles femelles\n" );
cout<<("4. Revenir au menu précédent\n" );
cin>>x;
switch(x) {
case '1': cout << "\nEntrer le nombre d'humains de la population: ";
cin >> Humain::nbH;
break;
case '2': cout << "\nEntrer le nombre d'humains infectés: ";
cin >> Humain::nbHI;
break;
case '3': cout << "\nEntrer le nombre d'anophele: ";
cin >> Anophele::nbA;
break;
case '0': Menu0();break;
default: break;
}
} while (1);
}
void Menu31() {
char x;
do {
cout<<("\n\nMENU TEMPS\n" );
cout<<("Taper un des chiffres du menu suivant:\n" );
cout<<("0. Revenir au menu de départ\n" );
cout<<("1. en jour\n" );
cout<<("2. en mois\n" );
cout<<("3. en année\n" );
cout<<("4. Revenir au menu précédent\n" );
cin>>x;
switch(x) {
case '1': break;
case '2': break;
case '3': break;
case '0': Menu0();break;
default: break;
}
} while (1);
}
void Menu3() {
char x;
do {
cout<<("\n\nMENU OPTIONS\n" );
cout<<("Taper un des chiffres du menu suivant:\n" );
cout<<("0. Revenir au menu de départ\n" );
cout<<("1. Modifications temporelle\n" );
cout<<("2. Modifications sur les hotes\n" );
cout<<("3. Modifications des paramètres externes\n" );
cin>>x;
switch(x) {
case '1': Menu31();break;
case '2': Menu32();break;
case '3': Menu33();break;
case '0': Menu0();break;
default: break;
}
} while (1);
}
int Menu2() {
}
int Menu1() {
}
int Menu0() {
char x;
do {
cout<<("\n\nMENU PRINCIPAL\n" );
cout<<("Taper un des chiffres du menu suivant:\n" );
cout<<("0. Quitter\n" );
cout<<("1. Affichage Graphique\n" );
cout<<("2. Sauvegarder l'affichage et les paramètres\n" );
cout<<("3. Modifier les paramètres\n" );
cin>>x;
switch(x) {
case '1': Menu1();break;
case '2': Menu2();break;
case '3': Menu3();break;
case '0': return 0;break;
default: break;
}
} while (x!=0 && x!=1 && x!=2 && x!=3 );
}
int main(){
...
Menu0();
...
}