Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exercice final premiere partie c (jeux +-)

boucle du jeux

Sujet résolu
    11 décembre 2018 à 9:26:26

    ... je n'arrive pas a passer le jeu en boucle en demandant au joeur si il veux continuer. Qu'est ce qui fonctionne pas avec mon code ? Merci

    int game1(int game1)
    
    {
    
    	int continuerPartie = 0;	
    	int compteur = 0;
    	int nombreMystere = 0, nombreEntre = 0; 
    	const int MAX = 10, MIN = 1;
    
    	nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    	
    	while (continuerPartie =1)
    		
    	{
    
    	while (nombreEntre != nombreMystere)
    	
    	{
    	
    		printf
    			("Quel est le nombre Mystere ?");
    		scanf
    			("%d", &nombreEntre);
    			
    			compteur++;
    			
    		if
    			(nombreEntre < nombreMystere)
    		{
    	
    		printf
    			("c'est plus !");
    		}
    	
    		else if
    			(nombreEntre > nombreMystere)
    		{
    
    		printf
    			("C'est moin !");
    	
    		}
    
    		else
    
    		{
    	
    		printf
    			("Bravo! vous avez trouvez le nombre mystere en %d coups! \n\n\n",compteur);
    
    		}
    
    		
    	}
    		printf 
    			("voulez-vous continuer la partie?\n");
    		printf
    			("1 pour continuer 0 pour sortir");
    		scanf
    			("%d",continuerPartie);
    	
    	}
    
    	return  0;
    }


    -
    Edité par sinAo 11 décembre 2018 à 9:28:13

    • Partager sur Facebook
    • Partager sur Twitter
      11 décembre 2018 à 10:06:02

      Bonjour,

      je vois effectivement deux erreurs dans le code que tu nous fournis. Histoire de pas te mâcher le boulot (juste un petit peu) je te montre les codes d'erreurs que j'ai obtenu :

      warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
      while (continuerPartie = 1){
      ~~~~~~~~~~~~~~~~^~~
      warning: format specifies type 'int *' but the argument has type 'int' [-Wformat]
      scanf("%d",continuerPartie);
      ~~ ^~~~~~~~~~~~~~~

      essaye de corriger ces erreurs et normalement ça devrait régler ton problème.

      J'ai également un doute sur le int game1(int game1), habituellement c'est plutôt un int main(void) que j'attendrai ici mais je peux me tromper.

      -
      Edité par florentpalanque 11 décembre 2018 à 10:08:12

      • Partager sur Facebook
      • Partager sur Twitter

      Make it simple.

        11 décembre 2018 à 10:52:18

        j’ai juste donné une partie du code, j’essaie de faire en sorte que le niveau se répéter si le joueur appui sur 1, mais ça ne fonctionne pas

        avec le code complet gcc ne me retourne aucune erreur...

        # include <stdio.h>
        # include <stdlib.h>
        # include <time.h>
        
        
        int game3(int game3)
        
        {	
        	int continuerPartie =0;	
        	int compteur = 0;
        	int nombreMystere = 0, nombreEntre = 0;
        	const int MAX = 1000, MIN = 1;
        
        	nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
        	
        	while (continuerPartie =1)
        		
        	{
        
        	while (nombreEntre != nombreMystere)
        	
        	{
        	
        		printf
        			("Quel est le nombre Mystere ?");
        		scanf
        			("%d", &nombreEntre);
        			
        			compteur++;
        			
        		if
        			(nombreEntre < nombreMystere)
        		{
        	
        		printf
        			("c'est plus !");
        		}
        	
        		else if
        			(nombreEntre > nombreMystere)
        		{
        
        		printf
        			("C'est moin !");
        	
        		}
        
        		else
        
        		{
        	
        		printf
        			("Bravo! vous avez trouvez le nombre mystere en %d coups! \n\n\n",compteur);
        
        		}
        
        		
        	}
        		printf 
        			("voulez-vous continuer la partie?\n");
        		printf
        			("1 pour continuer 0 pour sortir");
        		scanf
        			("%d",continuerPartie);
        	
        	}
        
        
        	return  0;
        }
        
        
        
        int game2(int game2)
        
        {
        	
        	int continuerPartie = 0;
        	int compteur = 0;
        	int nombreMystere = 0, nombreEntre = 0;
        	const int MAX = 100, MIN = 1;
        
        	nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
        	
        	while (continuerPartie =1)
        		
        	{
        
        	while (nombreEntre != nombreMystere)
        	
        	{
        	
        		printf
        			("Quel est le nombre Mystere ?");
        		scanf
        			("%d", &nombreEntre);
        			
        			compteur++;
        			
        		if
        			(nombreEntre < nombreMystere)
        		{
        	
        		printf
        			("c'est plus !");
        		}
        	
        		else if
        			(nombreEntre > nombreMystere)
        		{
        
        		printf
        			("C'est moin !");
        	
        		}
        
        		else
        
        		{
        	
        		printf
        			("Bravo! vous avez trouvez le nombre mystere en %d coups! \n\n\n",compteur);
        
        		}
        
        		
        	}
        		printf 
        			("voulez-vous continuer la partie?\n");
        		printf
        			("1 pour continuer 0 pour sortir");
        		scanf
        			("%d",continuerPartie);
        	
        	}
        
        
        	return  0;
        }
        
        
        int game1(int game1)
        
        {
        
        	int continuerPartie = 0;	
        	int compteur = 0;
        	int nombreMystere = 0, nombreEntre = 0; 
        	const int MAX = 10, MIN = 1;
        
        	nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
        	
        	while (continuerPartie =1)
        		
        	{
        
        	while (nombreEntre != nombreMystere)
        	
        	{
        	
        		printf
        			("Quel est le nombre Mystere ?");
        		scanf
        			("%d", &nombreEntre);
        			
        			compteur++;
        			
        		if
        			(nombreEntre < nombreMystere)
        		{
        	
        		printf
        			("c'est plus !");
        		}
        	
        		else if
        			(nombreEntre > nombreMystere)
        		{
        
        		printf
        			("C'est moin !");
        	
        		}
        
        		else
        
        		{
        	
        		printf
        			("Bravo! vous avez trouvez le nombre mystere en %d coups! \n\n\n",compteur);
        
        		}
        
        		
        	}
        		printf 
        			("voulez-vous continuer la partie?\n");
        		printf
        			("1 pour continuer 0 pour sortir");
        		scanf
        			("%d",continuerPartie);
        	
        	}
        
        	return  0;
        }
        	
        
        
        
        
        
        int niveauDeDifficulte(int nombre)
        
        {
        	
        	printf
        		("choisissez votre echelle de difficulter\n\n");
        	printf
        		("1) Tres facile\n");
        	printf
        		("2) Facile\n");
        	printf
        		("3) dificile\n");
        	scanf
        		("\n%d", &nombre);
        
        	while (nombre >3 || nombre <1)
        
        	{
        
        	printf
        		("Entree invalide, Choississez votre echelle de difficulter\n\n");
        	printf
        		("1) Tres facile\n");
        	printf
        		("2) Facile\n");
        	printf
        		("3) dificile\n");
        	scanf
        		("%d", &nombre);
        
        	}
        	
        	if
        		(nombre >0 && nombre <2)
        	{
        		nombre = game1(0);
        	}
        	
        	else if
        		(nombre >1 && nombre<3)
        	{
        		nombre = game2(0);
        	}
        	
        	else
        		
        	{
        		nombre = game3(0);
        	}
        
        	return 0;
        
        
        }
        
        
        int main(int argc, char *argv[])
        {       
        	srand(time(NULL));
        	int suivant = 0;
        	int nombreDeJoueurs=0;	
        	
        	printf
        		("\n\n****INSTRUCTION DE LA PARTIE****\n\n\n");
        	printf
        		("Bonjour !\n\n");
        	printf
        		("Moi (l'ordinateur) je vais generer un nombre aleatoire que vous allez tentez");
                printf
        		(" de devinez en le saisisant au clavier et ce selon trois niveaux de difficultes");
                printf
        		(" que vous allez devoir choisir.\n\n\n");
                printf
        		("1)\tTres facile\n\n");
                printf
        		("Dans ce niveau le nombre genere se situera entre 1 et 10\n\n");
                printf
        		("2)\tFacile\n\n");
                printf
        		("Dans ce niveau-ci le nombre genere augmentera d'une puissance 10 et se situera entre 1 et 100\n\n");
                printf
        		("3)\tDifficile\n\n");
                printf
        		("Danc ce niveau le nombre sera aussi augmente d'une puissance 10");
                printf
        		(" par rapport au precedent et se situera donc entre 1 et 1000\n\n");
        	printf
        		("Appuyez sur 1 pour continuer...\n\n");
        	scanf
        		("%d",&suivant);	
        	
        	while (suivant != 1)
        
        	{
        	
        	printf
        		("Entree invalide, appuyez sur 1 pour continuer\n\n");
        	scanf
        		("%d",&suivant);
        	}
        
        	printf 
        		("Pour le mode solitaire appuyez sur 1)\n");
        	printf
        		("Pour le mode multi-joueurs appuyez sur 2)\n");
        	scanf
        		("\n%d", &nombreDeJoueurs);
        
        	while (nombreDeJoueurs <1 || nombreDeJoueurs >2)
        
        	{
        
        	printf
        		("Entree invalide, pour le mode solitaire appuyez sur 1)\n");
        	printf
        		("pour le mode multi-joueurs appuyez sur 2)\n");
        	scanf
        		("\n%d",&nombreDeJoueurs);
        
        	}
        
        	nombreDeJoueurs = niveauDeDifficulte(0);
        
        	return 0;
        }



        • Partager sur Facebook
        • Partager sur Twitter
          11 décembre 2018 à 11:17:58

          Bonjour,

          pour activer les warning avec gcc, il suffit d'ajouter des paramètres de warning par exemple :

          gcc MonJeu MonJeu.c -Wall

          si tu n'y parviens pas, va sur ce site, mets ton code, compile le, et regarde les builds errors qui apparaissent. Le site que je te fournis tu peux l’utiliser pour des tests (ton exercice est un cas d'école donc ça va) mais lorsque tu travailles en entreprise, évite de mettre le code de ta boite dans ce genre de site (il peut être stocker dans une base de donnée et exploitable par des attaquants dans le pire des cas).

          Étant donnée que c'est un exercice Openclassrooms, je n'ai pas envie de te prémâcher le boulot. Je te donne encore un indice, regarde bien tes while et tes scanf.
          • Partager sur Facebook
          • Partager sur Twitter

          Make it simple.

            14 décembre 2018 à 0:18:36

            C'est pas plutôt gcc -o MonJeu MonJeu.c -Wall ?
            • Partager sur Facebook
            • Partager sur Twitter
              14 décembre 2018 à 11:37:34

              Moi je fais gcc -o MonJeu.exe MonJeu.c -Wall

              A part ca, j'ai fini par trouver que il manquait les  & de mes scanf et que la valeur de mes while etait pas bonne.

              # include <stdio.h>
              # include <stdlib.h>
              # include <time.h>
              
              
              int game3(int game3)
              
              {	
              	int continuerPartie =0;	
              	int compteur = 0;
              	int nombreMystere = 0, nombreEntre = 0;
              	const int MAX = 1000, MIN = 1;
              
              	nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
              	
              	while (nombreEntre != nombreMystere && continuerPartie !=2)
              	
              	{
              	
              		printf
              			("Quel est le nombre Mystere ?");
              		scanf
              			("%d", &nombreEntre);
              			
              			compteur++;
              					
              		if
              			(nombreEntre < nombreMystere)
              		{
              	
              		printf
              			("c'est plus !");
              		}
              	
              		else if
              			(nombreEntre > nombreMystere)
              		{
              
              		printf
              			("C'est moin !");
              	
              		}
              
              		else
              
              		{
              	
              		printf
              			("Bravo! vous avez trouvez le nombre mystere en %d coups! \n\n\n",compteur);
              
              		
              		printf 
              			("voulez-vous continuer la partie?\n");
              		printf
              			("1 pour continuer 2 pour sortir");
              		scanf
              			("%d",&continuerPartie);
              			
              			compteur = 0;		
              			nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
              		}
              
              	}
              		if 
              			(continuerPartie !=1)
              
              		{
              			printf
              				("Aurevoir");
              		}
              
              	return  0;
              }
              
              
              
              int game2(int game2)
              
              {	
              	int continuerPartie = 0;
              	int compteur = 0;
              	int nombreMystere = 0, nombreEntre = 0;
              	const int MAX = 100, MIN = 1;
              
              	nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
              	
              	while (nombreEntre != nombreMystere && continuerPartie !=2)
              	
              	{
              	
              		printf
              			("Quel est le nombre Mystere ?");
              		scanf
              			("%d", &nombreEntre);
              			
              			compteur++;
              					
              		if
              			(nombreEntre < nombreMystere)
              		{
              	
              		printf
              			("c'est plus !");
              		}
              	
              		else if
              			(nombreEntre > nombreMystere)
              		{
              
              		printf
              			("C'est moin !");
              	
              		}
              
              		else
              
              		{
              	
              		printf
              			("Bravo! vous avez trouvez le nombre mystere en %d coups! \n\n\n",compteur);
              
              		
              		printf 
              			("voulez-vous continuer la partie?\n");
              		printf
              			("1 pour continuer 2 pour sortir");
              		scanf
              			("%d",&continuerPartie);
              			
              			compteur = 0;		
              			nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
              		}
              
              	}
              		if 
              			(continuerPartie !=1)
              
              		{
              			printf
              				("Aurevoir");
              		}
              
              	return  0;
              }
              
              
              int game1(int game1)
              
              {	
              	int continuerPartie = 0;	
              	int compteur = 0;
              	int nombreMystere = 0, nombreEntre = 0; 
              	const int MAX = 10, MIN = 1;
              
              	nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
              	
              
              		
              	while (nombreEntre != nombreMystere && continuerPartie !=2)
              	
              	{
              	
              		printf
              			("Quel est le nombre Mystere ?");
              		scanf
              			("%d", &nombreEntre);
              			
              			compteur++;
              					
              		if
              			(nombreEntre < nombreMystere)
              		{
              	
              		printf
              			("c'est plus !");
              		}
              	
              		else if
              			(nombreEntre > nombreMystere)
              		{
              
              		printf
              			("C'est moin !");
              	
              		}
              
              		else
              
              		{
              	
              		printf
              			("Bravo! vous avez trouvez le nombre mystere en %d coups! \n\n\n",compteur);
              
              		
              		printf 
              			("voulez-vous continuer la partie?\n");
              		printf
              			("1 pour continuer 2 pour sortir");
              		scanf
              			("%d",&continuerPartie);
              			
              			compteur = 0;		
              			nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
              		}
              
              	}
              		if 
              			(continuerPartie !=1)
              
              		{
              			printf
              				("Aurevoir");
              		}
              
              	return  0;
              }
              	
              
              int niveauDeDifficulte(int nombre)
              
              {
              	
              	printf
              		("choisissez votre echelle de difficulter\n\n");
              	printf
              		("1) Tres facile\n");
              	printf
              		("2) Facile\n");
              	printf
              		("3) dificile\n");
              	scanf
              		("\n%d", &nombre);
              
              	while (nombre >3 || nombre <1)
              
              	{
              
              	printf
              		("Entree invalide, Choississez votre echelle de difficulter\n\n");
              	printf
              		("1) Tres facile\n");
              	printf
              		("2) Facile\n");
              	printf
              		("3) dificile\n");
              	scanf
              		("%d", &nombre);
              
              	}
              	
              	if
              		(nombre >0 && nombre <2)
              	{
              		nombre = game1(0);
              	}
              	
              	else if
              		(nombre >1 && nombre<3)
              	{
              		nombre = game2(0);
              	}
              	
              	else
              		
              	{
              		nombre = game3(0);
              	}
              
              	return 0;
              
              
              }
              
              
              int main(int argc, char *argv[])
              {       
              	srand(time(NULL));
              	int suivant = 0;
              	int nombreDeJoueurs=0;	
              	
              	printf
              		("\n\n****INSTRUCTION DE LA PARTIE****\n\n\n");
              	printf
              		("Bonjour !\n\n");
              	printf
              		("Moi (l'ordinateur) je vais generer un nombre aleatoire que vous allez tentez");
                      printf
              		(" de devinez en le saisisant au clavier et ce selon trois niveaux de difficultes");
                      printf
              		(" que vous allez devoir choisir.\n\n\n");
                      printf
              		("1)\tTres facile\n\n");
                      printf
              		("Dans ce niveau le nombre genere se situera entre 1 et 10\n\n");
                      printf
              		("2)\tFacile\n\n");
                      printf
              		("Dans ce niveau-ci le nombre genere augmentera d'une puissance 10 et se situera entre 1 et 100\n\n");
                      printf
              		("3)\tDifficile\n\n");
                      printf
              		("Danc ce niveau le nombre sera aussi augmente d'une puissance 10");
                      printf
              		(" par rapport au precedent et se situera donc entre 1 et 1000\n\n");
              	printf
              		("Appuyez sur 1 pour continuer...\n\n");
              	scanf
              		("%d",&suivant);	
              	
              	while (suivant != 1)
              
              	{
              	
              	printf
              		("Entree invalide, appuyez sur 1 pour continuer\n\n");
              	scanf
              		("%d",&suivant);
              	}
              
              	printf 
              		("Pour le mode solitaire appuyez sur 1)\n");
              	printf
              		("Pour le mode multi-joueurs appuyez sur 2)\n");
              	scanf
              		("\n%d", &nombreDeJoueurs);
              
              	while (nombreDeJoueurs <1 || nombreDeJoueurs >2)
              
              	{
              
              	printf
              		("Entree invalide, pour le mode solitaire appuyez sur 1)\n");
              	printf
              		("pour le mode multi-joueurs appuyez sur 2)\n");
              	scanf
              		("\n%d",&nombreDeJoueurs);
              
              	}
              
              	nombreDeJoueurs = niveauDeDifficulte(0);
              
              	return 0;
              }



              -
              Edité par sinAo 14 décembre 2018 à 11:43:21

              • Partager sur Facebook
              • Partager sur Twitter

              Exercice final premiere partie c (jeux +-)

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown