Langage C: problème de codage

Mac W Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   -  
watou Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, voilà je dois créer un mini jeu basique avec un mode multijoueur, compteur de coups...
C'est le jeu du plus ou moins. Le problème est que je bloque depuis que le mode multijoueur est implanté pour mettre en place la fonction recommencer une partie ou non. je vous place mon code car je suis coincé.

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main( int argc, char** argv )
{
int nombremystere = 0, nombreentre = 0, compteurdecoups = 0, recommencer = 1, nombrejoueur = 0;// Les variables

const int MAX = 100, MIN = 1;// Constante

srand(time(NULL));

printf("Choisissez un mode de jeu.\n");
printf("1.Solo\n");
printf("2.Multijoueur\n");
printf("3.Quitter le jeu\n");
scanf("%d", &nombrejoueur);

switch(nombrejoueur)
{

case 1:
{while (recommencer==1)
nombremystere = (rand () % (MAX - MIN + 1)) + MIN;
printf("Quel est le nombre?\n");
scanf("%d", &nombreentre);
compteurdecoups++;
if(nombreentre < nombremystere)
printf("C'est plus!\n");
else if(nombreentre > nombremystere)
printf("C'est moins!\n");
else
printf("Bravo tu as trouvé le chiffre mystere en %d coups\n",compteurdecoups);
printf("Voulez vous rejouer??\n");
printf("1.Oui, 2.Non\n");
scanf("%d", &recommencer);
if (recommencer==1)
printf("C'est repartis\n");
else
return 0;
}
case 2:
nombremystere = scanf("%d");
printf("Quel est le nombre?\n");
scanf("%d");
system("cls");
compteurdecoups++;
if(nombreentre < nombremystere)
printf("C'est plus!\n");
else if(nombreentre > nombremystere)
printf("C'est moins!\n");
else
printf("Bravo tu as trouvé le nombre caché de ton adversaire en %d coups\n",compteurdecoups);
break;
default :
return 0;
break;

}
}


A voir également:

5 réponses

lavax
 
pk tu poses la question ici alors que tu as la réponse sur le site où on te fait faire ce TP ?
1
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
faut dire, tu n'a rien fait alors c'est normal que ça ne boucle pas.
0
watou Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   28
 
essaye ceci :

#include <stdio.h> 
#include <stdlib.h> 
#include <time.h> 

int main( int argc, char** argv ) 
{ 
int nombremystere = 0, nombreentre = 0, compteurdecoups = 0, nombrejoueur = 0;// Les variables 
int  recommencer = 1;

const int MAX = 100, MIN = 1;// Constante 

srand(time(NULL)); 
while (recommencer==1) 
{
printf("Choisissez un mode de jeu.\n"); 
printf("1.Solo\n"); 
printf("2.Multijoueur\n"); 
printf("3.Quitter le jeu\n"); 
scanf("%d", &nombrejoueur); 
switch(nombrejoueur) 
{ 

    case 1: 
    {

               nombremystere = (rand () % (MAX - MIN + 1)) + MIN;
               do
               { 
                     printf("Quel est le nombre?\n"); 
                     scanf("%d", &nombreentre); 
                     compteurdecoups++; 
                     if(nombreentre < nombremystere)
                     {
                           printf("C'est plus!\n"); 
                     }
                     else if(nombreentre > nombremystere)
                     { 
                     printf("C'est moins!\n"); 
                     }
                    else 
                    printf("Bravo tu as trouvé le chiffre mystere en %d coups\n",compteurdecoups);
               }while(nombreentre != nombremystere); 
         break;
    }
    case 2: 
    {
         scanf("%d",&nombremystere); 
         system("cls");
         printf("Quel est le nombre?\n");
         do
         { 
             scanf("%d",&nombreentre);  
             compteurdecoups++; 
             if(nombreentre < nombremystere) 
             printf("C'est plus!\n"); 
             else if(nombreentre > nombremystere) 
             printf("C'est moins!\n"); 
             else 
             printf("Bravo tu as trouvé le nombre caché de ton adversaire en %d coups\n",compteurdecoups);
         }while(nombreentre != nombremystere); 
         break; 
    }
}                     
printf("Voulez vous rejouer??\n"); 
printf("1.Oui, 2.Non\n"); 
scanf("%d", &recommencer); 
if (recommencer==1) printf("C'est repartis\n");  
}
return 0; 


} 
 

0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
du coup tu oublie la réponse "3" pour quitter le code.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
watou Messages postés 199 Date d'inscription   Statut Membre Dernière intervention   28
 
ah oui !! :p
il suffit d'ajouter

case 3 : return 0;

merci pour la remarque ! ;)
0