Posez votre question Signaler

Boucle C++ [Résolu]

didy_gwatinik 351Messages postés 17 novembre 2007Date d'inscription 30 mars 2010Dernière intervention - Dernière réponse le 21 nov 2007 à 10:54
Bonjour,
Je suis en train de faire une "calculatrice" sous DEV C++ et j'ai un probleme avec ma boucle while, le choix de l'utilisteur n'est pas pris en compte quand le programme demande voulez-vous recommencer? Si quelqu'ub pouvait m'aider, ça serait très gentil. Voilà mon code :
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
main ( )
{
int nombre1, nombre2, recommencer=1,choix;
while((recommencer == 1) && (recommencer ==2));
{
switch (recommencer)
{
case 1 :
{
printf("Bonjour!\nBienvenue dans ma calculatrice. \nQue voulez-vous faire?\n \t1 Addition\n\t2 Soustraction\n\t3 Multiplication\n\t4Division\n\t5 Sortir\n");
scanf ("%d", &choix);
case 2 :
{
if ((choix !=5) && (choix<5))
{
printf("Veuillez saisir vos nombres\n");
scanf("%d", &nombre1);
scanf("%d", &nombre2);
}
switch (choix)
{
case 1:
{
printf("%d + %d = %d\n", nombre1, nombre2, nombre1+nombre2);
}
break;
case 2 :
{
printf("%d - %d = %d\n", nombre1, nombre2, nombre1-nombre2);
}
break;
case 3 :
{
printf("%d * %d = %d\n", nombre1, nombre2, nombre1*nombre2);
}
break;
case 4 :
{
printf("%d / %d = %d\n", nombre1, nombre2, nombre1 / nombre2);
}
break;
case 5 :
{
printf("Au revoir\n");
}
break;
default :
printf("Erreur de saisie\n");
}
}
break;
}
break;
default :
printf("Au revoir");
}
printf ("Vous avez le choix :\n\t1/ Recommencer avec les memes nombres\n\t2/ Recommencer en choississant de nouveaux nombres\n\t Appuyez sur une autre toouche pour Sortir\n\t");
scanf("%d", &recommencer);
system ("cls");
}
getch ( );
return 0;
}
Lire la suite 

Boucle C++ »

2 réponses
Réponse
+0
moins plus
Bonjour,
while((recommencer == 1) && (recommencer ==2));
Cette condition n'est jamais vérifiée : recommencer ne vaut pas à la fois 1 et 2 !
Donc la boucle n'est jamais effectuée.
Mais comme ta boucle se limite au ";" qu'il y a à la fin de la ligne, tu exécutes le bloc suivant mais il ne fait pas partie de la boucle et n'a aucune raison de recommencer...

remplace && par || et enlève le point virgule, ça devrait aller mieux.
Ajouter un commentaire
Réponse
+0
moins plus
En effet, ca fonctionne! Merci beaucoup le pere. Ca été très rapide! Encore Merci!!!!!!!!!
Ajouter un commentaire
Ce document intitulé « Boucle C++ » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook