Boucles et conditions en C
Résolu
Quester4
Messages postés
136
Date d'inscription
Statut
Membre
Dernière intervention
-
Quester4 Messages postés 136 Date d'inscription Statut Membre Dernière intervention -
Quester4 Messages postés 136 Date d'inscription Statut Membre Dernière intervention -
Bonjour, c'est encore moi, je débute.
Je fais un programme console, et j'ai ceci :
do
{
scanf("%d", &niveau);
if (niveau == 1)
{
valeurMAX = 100;
nombreGagnant = (rand() % (valeurMAX - valeurMIN + 1)) + valeurMIN;
printf("Le nombre vient d'etre choisi.\n\nEssayez : ");
do
{
score++;
scanf("%d", &essai);
if (essai < nombreGagnant && essai >= valeurMIN)
printf("C'est plus.\n\n");
else if (essai > nombreGagnant && essai <= valeurMAX)
printf("C'est moins.\n\n");
else if (essai < valeurMIN || essai > valeurMAX)
printf("Ce chiffre n'est pas valide. Entrez en un autre : ");
} while (essai != nombreGagnant);
printf("Vous avez trouve le bon nombre ! Bravo !\n");
printf("Vous avez reussi en %d coups.\n\n", score);
choix = 2;
}
else if (niveau == 2)
compteur = 10, valeurMAX = 100, choix = 1;
else if (niveau == 3)
compteur = 20, valeurMAX = 1000, choix = 1;
else if (niveau == 4)
compteur = 10, valeurMAX = 1000, choix = 1;
else if (niveau == 5)
compteur = 5, valeurMAX = 1000, choix = 1;
else
{ printf("\nCe niveau n'existe pas. Veuillez en entrer un valide : ");
choix = 0; }
} while (choix != 1 || choix != 2);
(Vous avez vu que c'est un jeu du plus ou du moins ;-))
Mon problème, c'est que, à la fin de la boucle do... while principale, la boucle recommence même si "choix" est égal à 1 ou égal à 2. Toutes les variables sont déclarées, et il n'y a aucune erreur ou autre à la compilation. Et donc, je cherche où est l'erreur, ou le "truc" à corriger.
Merci.
Je fais un programme console, et j'ai ceci :
do
{
scanf("%d", &niveau);
if (niveau == 1)
{
valeurMAX = 100;
nombreGagnant = (rand() % (valeurMAX - valeurMIN + 1)) + valeurMIN;
printf("Le nombre vient d'etre choisi.\n\nEssayez : ");
do
{
score++;
scanf("%d", &essai);
if (essai < nombreGagnant && essai >= valeurMIN)
printf("C'est plus.\n\n");
else if (essai > nombreGagnant && essai <= valeurMAX)
printf("C'est moins.\n\n");
else if (essai < valeurMIN || essai > valeurMAX)
printf("Ce chiffre n'est pas valide. Entrez en un autre : ");
} while (essai != nombreGagnant);
printf("Vous avez trouve le bon nombre ! Bravo !\n");
printf("Vous avez reussi en %d coups.\n\n", score);
choix = 2;
}
else if (niveau == 2)
compteur = 10, valeurMAX = 100, choix = 1;
else if (niveau == 3)
compteur = 20, valeurMAX = 1000, choix = 1;
else if (niveau == 4)
compteur = 10, valeurMAX = 1000, choix = 1;
else if (niveau == 5)
compteur = 5, valeurMAX = 1000, choix = 1;
else
{ printf("\nCe niveau n'existe pas. Veuillez en entrer un valide : ");
choix = 0; }
} while (choix != 1 || choix != 2);
(Vous avez vu que c'est un jeu du plus ou du moins ;-))
Mon problème, c'est que, à la fin de la boucle do... while principale, la boucle recommence même si "choix" est égal à 1 ou égal à 2. Toutes les variables sont déclarées, et il n'y a aucune erreur ou autre à la compilation. Et donc, je cherche où est l'erreur, ou le "truc" à corriger.
Merci.
A voir également:
- Boucles et conditions en C
- Mise en forme conditionnelle excel plusieurs conditions - Guide
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Je ne suis pas un robot confidentialité - conditions ✓ - Forum Windows 8 / 8.1
- Libreoffice calc si plusieurs conditions ✓ - Forum LibreOffice / OpenOffice
- Google sheet mise en forme conditionnelle 2 conditions ✓ - Forum Bureautique