Langage C: problème de codage

Fermé
Mac W Messages postés 75 Date d'inscription lundi 7 septembre 2009 Statut Membre Dernière intervention 2 mars 2012 - 23 sept. 2009 à 09:37
watou Messages postés 199 Date d'inscription vendredi 27 juin 2008 Statut Membre Dernière intervention 19 avril 2013 - 23 sept. 2009 à 17:11
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

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 vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
23 sept. 2009 à 11:06
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 vendredi 27 juin 2008 Statut Membre Dernière intervention 19 avril 2013 28
23 sept. 2009 à 14:18
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 vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
23 sept. 2009 à 16:43
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 vendredi 27 juin 2008 Statut Membre Dernière intervention 19 avril 2013 28
23 sept. 2009 à 17:11
ah oui !! :p
il suffit d'ajouter

case 3 : return 0;

merci pour la remarque ! ;)
0