Bonjour tous le monde, voila je rencontre actuellement un problème lorsque je rentre dans mon menu et que je souhaite appuyer sur la touche voulu il lance l'affichage mais reviens directement au menu pourquoi ? merci
int main(int argc, char** argv)
{
int C,E=0,Cptboucle=0,Memo_E=0,S;
int Tempo,Etape;
do{
Sleep(10);// temps de pause
Cptboucle++;// incrémenntation du compteur
// Affichage du menu
windows_clear_screen_color(BLANC,NOIR); // Effacement de l'écran avant affichage du menu
printf(" |--------------|--------------|\n");
printf(" BIENVENUE SUR NOTRE PROJET \n\n");
printf(" | Koenig | Gros |\n");
printf(" |--------------|--------------|\n");
printf(" Gestion d'une table elevatrice \n");
printf(" |--------------|--------------|\n");
printf("\n\n\n\n");
printf(" 1 -Table elevatrice\n\n");
printf(" Q -Quitter\n ");
printf("\n");
//Pause();
C =getch(); // attente frappe d'une touche
switch(C)
{
//lorsque l'on clique sur la touche '1' nous rentrons dans l'automate de la table elevatrice
case '1':
windows_clear_screen_color(BLANC,NOIR);
printf(" |--------------|--------------|\n");
printf(" | TABLE ELEVATRICE |\n ");
printf(" |--------------|--------------|\n");
printf("\n\n\n\n");
color(2,0);//affichage des texte en couleur, et en dessous les menus qui vont intéragire en fonction du bouton apppuyer
printf(" 2 - bouton monter =\n\n");
color(3,0);
printf(" 3 - bouton descante =\n\n");
color(12,0);
printf(" 4 - bouton arret =\n\n");
C =getch();
break;
if(kbhit()){
C=getch();
case 'e':if(E==0)E=1;
else E=0;
break;
}
}
if(Etape==0){
//Détection d'un front montant
if(Memo_E<E){
Etape=1;
S=1;
Tempo=Cptboucle+300;
}
}
else if (Etape==1){
if(Tempo<Cptboucle){
Etape=0;
S=0;
}
}
//Posiotionne le texte sur la fenetre DOS
gotoXY(10,10);
printf("E = %d S = %d Etape = %d ",E,S,Etape);
//Affiche le texte après les modifications
fflush(stdout);
gotoXY(10,15);
printf("Entree : ");
if(E==0){
//Change la couleur du texte
color(BLANC,ROUGE);
printf("[%d]",E);
}else{
color(BLANC,VERT);
printf("[%d]",E);
}
//Affiche le texte avec les modifications
fflush(stdout);
//Retour dans les 1ere conditions de fond et de forme
color(ROUGE,BLANC);
Memo_E=E;
}while(C!='Q' && C!='q');
return (EXIT_SUCCESS);
}
Alors la solution serais de recrée une boucle while ? car oui il faut que mon programme tourne en boucle a chaque fois que j'appuie sur une touche comme par exemple: 'M' , mon état sera à 1 et mon compteur va s'incrémenter.
'D' mon état sera à -1 et mon compteur va décrémenter
'A' mon état sera à 0 et mon compteur va s’arrêter
quel serais alors la meilleur solution? merci beaucoup.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
J'aime les bandes dessinées, manhuas, manhwas, mangas, comics... Du coup j'ai fait aralosbd.fr !