Probleme menu en C
Résolu
OnlyDraft
Messages postés
121
Date d'inscription
Statut
Membre
Dernière intervention
-
OnlyDraft Messages postés 121 Date d'inscription Statut Membre Dernière intervention -
OnlyDraft Messages postés 121 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train de réaliser un programme en C pour mon boulo, je suis novice en la matière et j'ai un problème avec mon menu.
En fait il fonctionne bien mais j'ai un bug.
Je m'explique:
Mon programme propose à l'utilisateur via un menu plusieurs options ( 1 pour faire tache A, 2 pour faire tache B ...).
Je souhaite obtimisé ce menu, si l'utilisateur tape un choix non proposé cela doit afficher un message d'erreur, je parviens a le faire si il tape un chiffre (exemple 9 car il n'y a que 5 options) mais s'il tape une lettre mon programme boucle a l'infini...
Quelqu'un sait comment je peux faire??
Merci d'avance
Je suis en train de réaliser un programme en C pour mon boulo, je suis novice en la matière et j'ai un problème avec mon menu.
En fait il fonctionne bien mais j'ai un bug.
Je m'explique:
Mon programme propose à l'utilisateur via un menu plusieurs options ( 1 pour faire tache A, 2 pour faire tache B ...).
Je souhaite obtimisé ce menu, si l'utilisateur tape un choix non proposé cela doit afficher un message d'erreur, je parviens a le faire si il tape un chiffre (exemple 9 car il n'y a que 5 options) mais s'il tape une lettre mon programme boucle a l'infini...
Quelqu'un sait comment je peux faire??
Merci d'avance
A voir également:
- Probleme menu en C
- Menu déroulant excel - Guide
- Canon quick menu - Télécharger - Utilitaires
- Excel menu déroulant en cascade - Guide
- Windows 11 menu contextuel classique - Guide
- Windows 11 menu démarrer classique - Guide
2 réponses
Salut,
Oui, cela est normal que cela boucle infiniment. En fait, je te conseille plutôt d'utiliser un char pour stocker la réponse de l'utilisateur, de vider le buffer clavier, et de se servir du code ascii (et non du chiffre) pour le choix du menu.
Ce qui donne :
Oui, cela est normal que cela boucle infiniment. En fait, je te conseille plutôt d'utiliser un char pour stocker la réponse de l'utilisateur, de vider le buffer clavier, et de se servir du code ascii (et non du chiffre) pour le choix du menu.
Ce qui donne :
char fin=0; char rep; while(! fin) { affichage(); //affichage du menu printf("choix : "); rep=getchar(); while(getchar()!='\n'); //on vide le buffer clavier switch(rep){ case '1': //on utilise '1' et non 1. fonction1(); break; //etc case '0': //choix quitter fin=1; break; default : puts("choix inexistant"); } } //fin du programme return 0;