Rechercher : dans
Par :
 Signaler ce message aux modérateurs

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;
}

Meilleures réponses pour « Boucle C++ » dans :
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Introduction à la STL en C++ (standard template library) VoirIntroduction Principales classes de la STL std::pair std::list std::vector std::set std::map Les iterators iterator et const_iterator reverse_iterator et const_reverse_iterator Les algorithmes ...
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Télécharger Visual C++ Express VoirVisual C++ Express est une version "gratuite" et allégée de Visual Studio ; l'utilisation requiert l'inscription sur le site de Microsoft. Cet environnement de développement permet de créer des application Win32 ou du .NET C.
Langage C++ - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Langage C - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...

1

le père, le 21 nov 2007 à 10:48:38

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.

Répondre à le père

2

 didy_gwatinik, le 21 nov 2007 à 10:54:43

En effet, ca fonctionne! Merci beaucoup le pere. Ca été très rapide! Encore Merci!!!!!!!!!

Répondre à didy_gwatinik