Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme plusoumoins chiffre aléatoire

tuto de m@téo

Sujet résolu
    13 août 2008 à 13:28:28

    Bonjour bonjour, je suis débutant et je tente de faire le fantastique tuto de M@teo. Je suis au niveau du TP avec le PlusOuMoins.

    Seulement lorsque je lance l'executable, à chaque fois que je tape un chiffre je vois "Plus bas !", même que je mets 1 et quand je mets 0 ou moins que 0 le programme me met "appuyez sur une touche pour continuer et le programme s'arrête".

    Voici le code :
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    #include <math.h>
    
    int main(int argc, char *argv[])
    {
      printf("\nQuel est le nombre (compris entre 1 et 100) ? ");
      const char MAX = 100, MIN = 1;
      char nombreMystere = 0;
      srand(time(NULL));
      nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
      char nombrepropose = 0;
      scanf("%ld", &nombrepropose);
      if (nombrepropose == nombreMystere)
      {
            printf("\n\nBravo, tu as trouve le nombre !\n\n");
      }
      while (nombrepropose > nombreMystere)
      {
            printf("\n\nPlus bas !\n\n\nQuel est le nombre ? ");
            scanf("%ld", &nombrepropose);
    }
      while (nombrepropose < nombreMystere)
      {
            printf("\n\nPlus haut!\n\n\nQuel est le nombre ? ");
            scanf("%ld", &nombrepropose);
    }
    
      system("PAUSE");	
      return 0;
    


    Voilà.

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      13 août 2008 à 13:47:05

      Ce n'est pas la bonne structure: tu ne dois avoir qu'une seule boucle qui sera en quelque sorte la boucle principale du programme. Je te laisse chercher (tu progressera plus que si je te donne la solution). N'hésite pas à revenir poster si tu ne trouves pas.
      • Partager sur Facebook
      • Partager sur Twitter
        13 août 2008 à 14:18:35

        Citation : Babastien

        Seulement lorsque je lance l'executable, à chaque fois que je tape un chiffre je vois "Plus bas !", même que je mets 1 et quand je mets 0 ou moins que 0 le programme me met "appuyez sur une touche pour continuer et le programme s'arrête".


        Le types et les formateurs sont incompatibles. Le comportement est indéterminé.
        -------------- Build: Debug in hello ---------------
        
        Compiling: main.c
        C:\dev\hello\main.c: In function `main':
        C:\dev\hello\main.c:13: warning: long int format, different type arg (arg 2)
        C:\dev\hello\main.c:21: warning: long int format, different type arg (arg 2)
        C:\dev\hello\main.c:26: warning: long int format, different type arg (arg 2)
        Linking console executable: bin\Debug\hello.exe
        Output size is 20.07 KB
        Process terminated with status 0 (0 minutes, 0 seconds)
        0 errors, 3 warnings

        Revoir les structures de code (décision et boucles). Ton algorithme est complètement faux. Il faut réfléchir avant de coder. Écrit le comportement attendu sur un "papier" (éditeur de texte...) avant de coder. Poste le pour confirmation si tu veux.

        Correction
        #include <stdio.h>
        #include <stdlib.h>
        #include <time.h>
        
        int main (void)
        {
           const int MAX = 100, MIN = 1;
        
           srand (time (NULL));
        
           {int nombrepropose = 0;
              int nombreMystere = (rand () % (MAX - MIN + 1)) + MIN;
              do
              {
                 printf ("Quel est le nombre (compris entre 1 et 100) ? ");
                 scanf ("%d", &nombrepropose);
                 if (nombrepropose > nombreMystere)
                 {
                    printf ("Plus bas !\n");
        
                 }
                 else if (nombrepropose < nombreMystere)
                 {
                    printf ("Plus haut!\n");
        
                 }
                 else
                 {
                    printf ("\nBravo, tu as trouve le nombre !\n");
                 }
              }
              while (nombrepropose != nombreMystere);
           }
           return 0;
        }
        
        • Partager sur Facebook
        • Partager sur Twitter
        Music only !

        Probleme plusoumoins chiffre aléatoire

        × 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