Problème boucle en C

Résolu/Fermé
v1nc3nt - 18 mars 2012 à 22:47
 v1nc3nt - 18 mars 2012 à 23:51
Bonjour,
alors voilà j'ai fais un programme en C et j'ai un problème au niveau d'une boucle :

#include <stdio.h>
#include <math.h>

int main(void)
{
int n;
int i;
int nb_allumettes;

printf("Jeu de Nim\n\n");

do
{
printf("Combien d'allumettes souhaitez-vous ?\n");
scanf("%d",&n);
printf("\n");
}
while (n <= 10);

while (n > 0)
{
do
{
printf("Tour du joueur 1\n");
printf("Combien d'allumettes voulez-vous retirer ? 1, 2 ou 3 ?\n");
scanf("%d",&nb_allumettes);
printf("\n");
}
while (nb_allumettes > 3 || nb_allumettes<=0);
n = n - nb_allumettes;
printf("Il reste %d allumettes\n\n",n);

if (n <= 0)
printf("Le gagnant est : Joueur 2\n");

do
{
printf("Tour du joueur 2\n");
printf("Combien d'allumettes voulez-vous retirer ? 1, 2 ou 3 ?\n");
scanf("%d",&nb_allumettes);
printf("\n");
}
while (nb_allumettes > 3 || nb_allumettes<=0);
n = n - nb_allumettes;
printf("Il reste %d allumettes\n\n",n);

if (n <= 0)
printf("Le gagnant est : Joueur 1\n");
}
return 0;
}



Alors voilà le problème : lorsque le joueur 2 gagne ben la boucle while continue et affiche Tour du joueur 2
Combien d'allumettes voulez-vous retirer ? 1, 2 ou 3 ?
.....
Je ne sais pas comment arreter la boucle lorsque le joueur 2 gagne... Par contre lorsque c'est le joueur 1 qui gagne la boucle se termine normalement.

Merci



3 réponses

XDamienX007 Messages postés 3607 Date d'inscription jeudi 3 décembre 2009 Statut Membre Dernière intervention 28 mars 2018 415
18 mars 2012 à 22:49
Rien compris ^^
0
Char Snipeur Messages postés 9688 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 2 octobre 2020 1 329
18 mars 2012 à 22:49
if (n <= 0){
printf("Le gagnant est : Joueur 2\n");
break;
}
0
merci char sniper
0