Partage
  • Partager sur Facebook
  • Partager sur Twitter

tp plus ou moins amélioration

ajouter un compteur de coups

Sujet résolu
    15 juillet 2006 à 20:31:22

    re bonjour a toutes et tous voilà j'ai relus le chap sur le tp et je me rends compte avec stuppeur que je n'arrive m^me pas a résoudre la première amélioration cad ajouter un compteur de coup voici mon programme qui plante et je ne sais pas pourquoi......merci de m"aider

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


    int main ( int argc, char** argv )
    {
        long nombreMystere = 0, nombreEntre = 0, i=0, compteur=0;
       
        const long MAX = 100, MIN = 1;

        // Génération du nombre aléatoire

        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

        /* La boucle du programme. Elle se répète tant que l'utilisateur
        n'a pas trouvé le nombre mystère */


        do
        {
            // On demande le nombre
            printf("Quel est le nombre ? ");
            scanf("%ld", &nombreEntre);

            // On compare le nombre entré avec le nombre mystère

            if (nombreMystere > nombreEntre)
            compteur=i++;
                printf("C'est plus !\n\n");
           
            else if (nombreMystere < nombreEntre)
            compteur=i++;
                printf("C'est moins !\n\n");
               
           
            else
                printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
                printf("bravo vous avez trouver le nombre mystere en %ld coups",compteur);
        } while (nombreEntre != nombreMystere);

        system("PAUSE");
    }
    quelqu'un pourrait me donner la réponse car je ne vois pas du tout comment y parvenir, j'arrive bien a quelque chose de ressemblant en écrivant printf("c'est plus\n\n",i++); mais c'est pas génial alors comment faire.....?.??????merci de votre aide!!!!!!
    • Partager sur Facebook
    • Partager sur Twitter
      15 juillet 2006 à 20:51:15

      Je vois pas à quoi correspond
      compteur=i++;

      et pour que cela marche et pour que se soit plus claire il suffit de faire :

      do
          {
      compteur++;
              // On demande le nombre
              printf("Quel est le nombre ? ");
              scanf("%ld", &nombreEntre);

              // On compare le nombre entré avec le nombre mystère

              if (nombreMystere > nombreEntre)
             
                  printf("C'est plus !\n\n");
             
              else if (nombreMystere < nombreEntre)
             
                  printf("C'est moins !\n\n");
                 
             
              else
                  printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
                  printf("bravo vous avez trouver le nombre mystere en %ld coups",compteur);
                 
          } while (nombreEntre != nombreMystere);

      il me semble que cela devrait marcher.(code non testé)
      • Partager sur Facebook
      • Partager sur Twitter
      http://tuclictugeek.fr - Avis et Test sur Jeux-vidéo et Mangas
        15 juillet 2006 à 21:09:25

        :p merci effectivement c'était tout bête!!!! mais j'aimerais que ce soir seulement a la fin qu'il affiche le nombre de coups effectivement joués et pas au fur et a mesure comme ton code le fait (même si il marche parfaitement) comment faire alors...????????merci de votre aide et bon code a tous!!!!!!!!!!!
        • Partager sur Facebook
        • Partager sur Twitter
          15 juillet 2006 à 21:12:48

          Ce que tu demandes est assez simple, cherche un peu :)
          Si tu trouves vraiment pas, on peut te donner le code, mais ca n'aura plus d'intérêts ;)
          • Partager sur Facebook
          • Partager sur Twitter
            15 juillet 2006 à 21:13:52

            Si j'ai bien compris se que tu demande :
            else
            {
                        printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
                        printf("bravo vous avez trouver le nombre mystere en %ld coups",compteur);
            }

            lorsqu'il n'y a pas d'accolades cela veut dire qu'il n'y a qu'une seul chose à efféctuer or la il y en a deux c'est pourquoi il faut des accolades.
            • Partager sur Facebook
            • Partager sur Twitter
            http://tuclictugeek.fr - Avis et Test sur Jeux-vidéo et Mangas
              15 juillet 2006 à 21:19:02

              :( non je ne vois vraiment pas comment faire pour qu'il compte les coups sans les ecrire et qu'il donne le résultat a la fin de la partie seulement merci de m'aider ce serait sympa!!!! :D
              • Partager sur Facebook
              • Partager sur Twitter
                15 juillet 2006 à 21:38:33

                Il te suffit de laisser l'incrémentation de compteur dans la boucle, mais de ne pas en afficher le contenu.

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


                int main ( int argc, char** argv )
                {
                    long nombreMystere = 0, nombreEntre = 0, i=0, compteur=0;
                   
                    const long MAX = 100, MIN = 1;

                    // Génération du nombre aléatoire

                    srand(time(NULL));
                    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

                    /* La boucle du programme. Elle se répète tant que l'utilisateur
                    n'a pas trouvé le nombre mystère */


                    do
                    {
                        compteur++;
                        // On demande le nombre
                        printf("Quel est le nombre ? ");
                        scanf("%ld", &nombreEntre);

                        // On compare le nombre entré avec le nombre mystère

                        if (nombreMystere > nombreEntre)
                             printf("C'est plus !\n\n");
                       
                        else if (nombreMystere < nombreEntre)
                             printf("C'est moins !\n\n");
                         
                        else
                            printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
                           
                    } while (nombreEntre != nombreMystere);
                 
                printf("bravo vous avez trouver le nombre mystere en %ld coups",compteur);

                    system("PAUSE");
                }

                • Partager sur Facebook
                • Partager sur Twitter
                  15 juillet 2006 à 22:03:15

                  :p si simple que ca........il me semblait que j'avais essayé cette méthode mais sans résultat j'ai du foirer quelque chose quelque part en tout cas un tout grand merci a toi Coyotte!!!!!!
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    15 juillet 2006 à 22:16:18

                    Juste pour faire plus beau rajoute un "\n\n" derrières coups ;) (et une maj aussi ^^)

                    printf("Bravo vous avez trouver le nombre mystere en %ld coups\n\n",compteur);
                    • Partager sur Facebook
                    • Partager sur Twitter
                      15 juillet 2006 à 22:20:36

                      :p;) merci pour la "finition" !!!!! bon code a toi!!!!! :-°
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        15 juillet 2006 à 22:22:48

                        Mdr mon aide à été d'une grande utilité :p
                        Bon allez je retourne voir M@téo dans ses tutos ;)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          15 juillet 2006 à 22:31:16

                          :p oui Méteo pardon M@teo a surement des choses plus interessantes a te faire faire allez bons cours sur ce site trop fort!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! :-°^^
                          • Partager sur Facebook
                          • Partager sur Twitter

                          tp plus ou moins amélioration

                          × 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