Protéger la boucle while

Fermé
valentin - 2 févr. 2014 à 16:59
sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 - 3 févr. 2014 à 10:38
Bonjour,

je suis en BTS SE et pratique la programmation en C et C++, a petit niveau mais quand même

j'ai un exo en C à faire, un menu déroulant type MAC DO "super"!!!
voici mon code

while(A>4 || A<1)
{
printf("====MENU==== \n");
printf("1.Royal Cheese 4.00 euros\n");
printf("2.Mc Deluxe 4.20 euros\n");
printf("3.Mc Bacon 4.50 euros\n");
printf("4.Big Mac 3.80 euros\n\n");
printf("Votre choix est ? \n",A);
scanf("%d",&A);
if (A==1)
printf("votre choix est Royal Cheese\n\n");
if (A==2)
printf("votre choix est Mc Deluxe\n\n");
if (A==3)
printf("votre choix est Mc Bacon\n\n");
if (A==4)
printf("votre choix est Big Mac\n\n");

il a été demander de le faire avec la fonction 'printf' je ne peut donc pas utiliser un case 1 etc etc
Mon problème est que lorsque que je lance mon programme et que je répond à la question pas un '*' ou '$' mon programme fait défiler

====MENU====
1.Royal Cheese 4.00 euros
2.Mc Deluxe 4.20 euros
3.Mc Bacon 4.50 euros
4.Big Mac 3.80 euros
Votre choix est ?

sans arrêt.
j'aimerais savoir si vous avez une solution pour protéger mon programme contre ça
et oui c'est quand même le bute ;)

1 réponse

sambia39 Messages postés 610 Date d'inscription vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
3 févr. 2014 à 10:38
Bonjours
il est préférable de géré ton menus avec un switch que des if.
0