Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur dans le code

Sujet résolu
    27 juin 2007 à 18:42:19

    Bonjour les zéros :D ,

    Je suis actuellement en train de suivre les cours C fait par M@teo21, (bravo a toi pour les explications claires et précises) mais j'ai un petit problème dans un code. Il demande de faire un code je le fais différemment, mais il y a apparement une erreur car la compilation ne peut pas se faire... Voici le code :


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


    int main ( int argc, char** argv )
    {
    long nombreMystere = 0, nombreEntre = 0;
    const long MAX = 100, MIN = 1;
    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    do
    {
    printf("Quel est le nombre ?");
    scanf("%ld", &nombreEntre);
    if(nombreMystere > nombreEntre)
    printf("C'est plus !\n\n");
    else if(nombreMystere < nombreEntre)
    printf("C'est mois ! \n\n");
    if(nombreEntre != nombreMystere)
    printf("Bravo, tu as trouvé le nombre mystere !");
    }
    system("PAUSE");
    }



    Merci de m'aider quand l'un d'entre vous aura un peu de temps :)
    • Partager sur Facebook
    • Partager sur Twitter
      27 juin 2007 à 18:43:39

      tu fait une boucle do
      {
      ...
      }
      while(aquelque chose)

      Sans le while ^^

      PS: Utilise les balises code la prochaine fois
      • Partager sur Facebook
      • Partager sur Twitter
        27 juin 2007 à 18:47:16

        Merci pour cette réponse très rapide. Désolé mais je ne vois pas l'erreur.

        PS: Utilise les balises code la prochaine fois<== ok :)

        EDIT : je fais quelques tests et vous dit si j'ai résolu le problème.
        • Partager sur Facebook
        • Partager sur Twitter
          27 juin 2007 à 18:56:25

          Il faut que tu rajoute while (si on a pas gagner) apres l'acolade du do
          • Partager sur Facebook
          • Partager sur Twitter
            27 juin 2007 à 19:01:41

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


            int main ( int argc, char** argv )
            {
            long nombreMystere = 0, nombreEntre = 0;
            const long MAX = 100, MIN = 1;
            srand(time(NULL));
            nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
            do
            {
            printf("Quel est le nombre ?");
            scanf("%ld", &nombreEntre);
            if(nombreMystere > nombreEntre)
            printf("C'est plus !\n\n");
            else if(nombreMystere < nombreEntre)
            printf("C'est mois ! \n\n");
            if(nombreEntre != nombreMystere)
            printf("Bravo, tu as trouvé le nombre mystere !");
            } /*while(...)*/
            system("PAUSE");
            }
            C'est mieux, non ?
            • Partager sur Facebook
            • Partager sur Twitter
              27 juin 2007 à 19:04:23

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


              int main ( int argc, char** argv )
              {
              long nombreMystere = 0, nombreEntre = 0;
              const long MAX = 100, MIN = 1;
              srand(time(NULL));
              nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
              do
              {
              printf("Quel est le nombre ?");
              scanf("%ld", &nombreEntre);
              if(nombreMystere > nombreEntre)
              printf("C'est plus !\n\n");
              else if(nombreMystere < nombreEntre)
              printf("C'est mois ! \n\n");
              if(nombreEntre != nombreMystere)
              printf("Bravo, tu as trouvé le nombre mystere !");
              }
              system("PAUSE");
              }

              D'abord ya une petite chose que je ne comprend pas, on gagne si on trouve un chiffre faux ?
              je crois que c'est plutot :
              if(nombreEntre == nombreMystere)

              Ensuite,
              system("pause");
              c'est pas très portable, utilise plutot:
              char pause;
              scanf("%c",&pause);
              • Partager sur Facebook
              • Partager sur Twitter
                27 juin 2007 à 20:01:01

                Re,

                C'est bon, je pense avoir trouvé l'erreur.

                [quote]#include <stdio.h>
                #include <stdlib.h>
                #include <time.h>


                int main ( int argc, char** argv )
                {
                long nombreMystere = 0, nombreEntre = 0;
                const long MAX = 100, MIN = 1;
                srand(time(NULL));
                nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
                do
                {
                printf("Quel est le nombre ?");
                scanf("%ld", &nombreEntre);
                if(nombreMystere > nombreEntre)
                printf("C'est plus !\n\n");
                else if(nombreMystere < nombreEntre)
                printf("C'est moins ! \n\n");
                }
                while (nombreEntre != nombreMystere);
                if(nombreEntre == nombreMystere)
                printf("Bravo, tu as trouve le nombre mystere !");
                system("PAUSE");
                }[/quote]

                Chez moi ca marche.

                J'idique le problème en résolu
                • Partager sur Facebook
                • Partager sur Twitter
                  28 juin 2007 à 9:16:58

                  les balises de code sont <code="c"></code>
                  • Partager sur Facebook
                  • Partager sur Twitter

                  erreur dans le code

                  × 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