Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aide TP Plus ou Moins, C

boucle

Sujet résolu
    21 septembre 2017 à 19:47:55

    Bonjour,

    J'ai un soucis avec le premier TP. Je suis actuellement sur la boucle qui permet de relancer la partie. Mon problème, qui doit surement venir d'un manque de logique, est que je ne comprend pas pourquoi la variable "compteur" ne se remet pas à zéro au début d'une nouvelle partie.

    Quelqu'un peut il m'éclairer çe sujet svp?

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main()
    {
        int nombreMystere = 0, nombreEntre = 0, compteur = 0, continuerPartie = 1;
        const int MAX = 100, MIN = 1;               
    
        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    
     do
     {
         
        do
        {
            printf("Entrez votre choix\t");
            scanf("%d", &nombreEntre);
            compteur++;
        if (nombreEntre > nombreMystere)
            printf("C'est moins ! Vous etes a %d essai(s)\n\n", compteur);
        else if (nombreEntre < nombreMystere)
            printf("C'est plus ! Vous etes a %d essai(s)\n\n", compteur);
        else
            printf("Bien joue! Vous avez trouve le nombre en %d essai(s)\n\n", compteur);
        }while (nombreEntre != nombreMystere);
    
     printf("Faire une nouvelle partie?");
     scanf("%d", &continuerPartie);
    
     } while (continuerPartie == 1);
    
    return 0;
    }
    • Partager sur Facebook
    • Partager sur Twitter
      21 septembre 2017 à 19:52:48

      Parce que tu met ta variable compteur à 0 en dehors de la boucle de jeu il faut que tu fasse un compteur = 0  dans ta boucle do
      • Partager sur Facebook
      • Partager sur Twitter
        21 septembre 2017 à 19:53:19

        Salut,

        Tu as initialisé compteur au tout début du programme

        Mais lorsque le joueur relance tu ne le réinitialise pas. Donc il garde la valeur de l'ancienne partie.

        Sur cette partie du code :

        do
         {
              
            do
            {

        Il faudrait écrire :

        do
         {
         
              compteur = 0
        
            do
            {




        • Partager sur Facebook
        • Partager sur Twitter
          21 septembre 2017 à 19:53:22

          Bonjour ! La variable 'compteur' est mise à zéro à la ligne 7. Mais on n'y retourne plus jamais, à cette ligne 7. Lorsqu'on reprend une nouvelle partie, le programme retourne à la ligne 13 (le premier “do”).

          (C'est marrant, on est trois à avoir répondu en même temps à quelques secondes près...)

          -
          Edité par robun 21 septembre 2017 à 21:15:30

          • Partager sur Facebook
          • Partager sur Twitter
            21 septembre 2017 à 20:00:52

            Ah.. je m'sens un peu con du coup.. Mais merci beaucoup pour vos réponses!

            -
            Edité par Floww123 21 septembre 2017 à 20:01:10

            • Partager sur Facebook
            • Partager sur Twitter
              22 septembre 2017 à 7:49:04

              Oui, c'est ce que j'allais dire ^^ et on a répondu chacun à peu près de la me façon :D
              • Partager sur Facebook
              • Partager sur Twitter

              Aide TP Plus ou Moins, C

              × 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