Partage
  • Partager sur Facebook
  • Partager sur Twitter

Constantes toujours pas constantes

Sujet résolu
    19 juin 2006 à 19:54:20

    <question></question>

    ben j'ai mis mon " srand(time(NULL)); "
    Mais ca n'a rien fait, toujour le meme probleme, mon programme se lance et genere un nombre en dehors de 100, alors que je declare des constante de 1 à 100 maxi.

    Quelqu'un saurai m'aider ? ^^

    Merci pour votre aide.

    <code type="zcode"></code>
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    long genereNombre(const long MAX, const long MIN)////////////////////////
    {
    long nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    return nombreMystere;
    }
    long compareNombres(long nombreEntre, long nombreMystere)////////////////
    {
    long compteur =0, continuer = 0;
    if (nombreEntre > nombreMystere)
    {
    printf (" - - C'est moin ! - -\n\n");
    }
    else if (nombreEntre < nombreMystere)
    {
    printf (" - - C'est plus ! - -\n\n");
    }
    else if (nombreEntre = nombreMystere) // si le nombre est trouvé
    {
    printf ("\n\n");
    printf (" ===========================================================\n");
    printf (" Bravo,vous avez trouver le nombre myster en %ld coups.\n\n", compteur);
    printf (" ===========================================================\n");
    printf ("\n\n");
    printf (" * voulez vous continuer ? *\n");
    printf (" * *\n");
    printf (" * ____ 1. OUI ____ *\n");
    printf (" * ____ 0. NON ____ *\n");
    printf (" * *\n");
    printf (" * Tapez votre choix : ");
    scanf ("%ld", &continuer);
    printf (" ***************************\n\n\n\n");

    if (continuer == 0)
    {
    printf (" ===========================================================\n");
    printf (" Vous avez chosis d'arreter, a tres bientot. \n");
    printf (" ===========================================================\n");
    printf ("\n\n");
    }
    }
    return nombreEntre, nombreMystere;

    }
    /////////////////////////////////////////////////////////////////////////
    int main ( int argc, char** argv )
    {
    srand(time(NULL));
    long nombreMystere = 0, nombreEntre = 0;
    const long MAX = 100, MIN = 1;


    // Génération du nombre aléatoire
    nombreMystere = genereNombre(MIN, MAX);

    /* 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
    compareNombres(nombreEntre, nombreMystere);

    } while (nombreEntre != nombreMystere);


    system("PAUSE");
    }
    • Partager sur Facebook
    • Partager sur Twitter
      19 juin 2006 à 20:01:39

      salut,

      remet tes balises comme il faut parce que là c'est illisible =/
      • Partager sur Facebook
      • Partager sur Twitter
        19 juin 2006 à 20:08:14

        Voila, vraiment desolé, nouveau aussi sur ce forum :D

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

        long genereNombre(const long MAX, const long MIN)////////////////////////
        {
             long nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
             return nombreMystere;
        }
        long compareNombres(long nombreEntre, long nombreMystere)////////////////
        {
             long compteur =0, continuer = 0;
             if (nombreEntre > nombreMystere)
          {
               printf ("         - -  C'est moin !  - -\n\n");
          }
          else if (nombreEntre < nombreMystere)
          {
               printf ("         - -  C'est plus !  - -\n\n");
          }
          else if (nombreEntre = nombreMystere) // si le nombre est trouvé
          {
               printf ("\n\n");
               printf ("  ===========================================================\n");
               printf ("     Bravo,vous avez trouver le nombre myster en %ld coups.\n\n", compteur);
               printf ("  ===========================================================\n");
               printf ("\n\n");
               printf ("                  * voulez vous continuer ? *\n");
               printf ("                  *                         *\n");
               printf ("                  *    ____ 1. OUI ____     *\n");
               printf ("                  *    ____ 0. NON ____     *\n");
               printf ("                  *                         *\n");
               printf ("                  * Tapez votre choix : ");
               scanf ("%ld", &continuer);
               printf ("                  ***************************\n\n\n\n");
               
               if (continuer == 0)
               {
               printf ("  ===========================================================\n");
               printf ("          Vous avez chosis d'arreter, a tres bientot.        \n");
               printf ("  ===========================================================\n");
               printf ("\n\n");
               }
               }
               return nombreEntre, nombreMystere;
               
        }
        /////////////////////////////////////////////////////////////////////////
        int main ( int argc, char** argv )
        {
            srand(time(NULL));
            long nombreMystere = 0, nombreEntre = 0;
            const long MAX = 100, MIN = 1;
           

            // Génération du nombre aléatoire
            nombreMystere = genereNombre(MIN, MAX);

            /* 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
                compareNombres(nombreEntre, nombreMystere);

            } while (nombreEntre != nombreMystere);


            system("PAUSE");
        }
        • Partager sur Facebook
        • Partager sur Twitter
          19 juin 2006 à 20:09:56

          Une erreur toute simple! La chance m'a permi de remarquer que tu a oublié peut-être de quoi a l'air ta fonction! Regarde et trouve l'erreur dans ce que tu a écrit ;)



          long genereNombre(const long MAX, const long MIN)

          nombreMystere = genereNombre(MIN, MAX);


          T'as inversé les deux paramètres! Mais sinon après ça devrait marcher, ça m'en a pris du temps avant de metre le doigt dessus!

          Je pense pas qu'il puisse y avoir d'autres raisons faisant que ça marche pas, car ta fonction pour générer a l'air correcte...
          Lâche pas!:D
          • Partager sur Facebook
          • Partager sur Twitter
            19 juin 2006 à 20:20:38

            <information></information>

            Merci Mikahell, probleme resolu. J'ai fait le tour de tout, en ettant sur que ce serai une erreur plus difficil à comprendre, et finalement c'est tout bete, comme quoi.
            Merci pour ta patiente !
            • Partager sur Facebook
            • Partager sur Twitter
              19 juin 2006 à 20:27:59

              Ça fait toujours plaisir d'aider! :p;)
              Mais dit toi une chose, les premières erreurs qu'on fait, son souvent
              des erreurs du genre, et bien souvent on niaise une journée avant de se
              rendre compte qu'on a fait une ptite bêtise...

              Mais une solution qui prévient bien ça c'est de placer un point
              d'arrêt juste à la ligne avec le "rand", puis tu pourra donc y voir
              les valeurs des variables plus facilement et ce qui en sort!

              Bonne journée!... ou bonsoir?, chez-nous il est 2h40!
              • Partager sur Facebook
              • Partager sur Twitter
                19 juin 2006 à 20:33:18

                chez vous ? t'habite ou ?
                bon je m'éloigne du sujet là :p
                • Partager sur Facebook
                • Partager sur Twitter
                  19 juin 2006 à 20:34:50

                  J'habite d'une ville dans le québec, Canada...

                  ...
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Constantes toujours pas constantes

                  × 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