Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C] Exrcice fin de partie I

C'est toujours plus grand ! :o

    28 avril 2006 à 23:22:28

    Bonsoir à tous ! :)
    J'ai fini le dernier chapitre de la partie I cet après midi, et en revenant ce soir, j'ai tester le dernier exercice !
    Je l'ai fais, aparemment bien puisque mon complileur me pond pas d'enormité, et pourtant, quelque chose ne va pas...

    Voici mon code:

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

     long compareNombres(long nombreEntre, long nombreMystere)                    //FONCTION
    {                                                                            //QUI
                                                                                 //COMPARE
         if (nombreMystere > nombreEntre)                                        //LES NOMBRES
                           printf("C'est plus !\n\n");                           //MYSTERE
         else if (nombreMystere < nombreEntre)                                   //ET
                           printf("Cest moins !\n\n");                           //LE
         else                                                                    //NOMBRE
                           printf("Bravo vous avez trouvez le bon nombre !");    //ENTRE
    }
                       /////////////////////////////////////// FONCTION QUI GENERE LE NOMBRE MYSTERE
      long genereNombre(long nombreMystere)
                              {
                              const long MAX = 100, MIN = 1;
                              srand(time(NULL));
                              nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    }
                        ///////////////////////////////////////                   
    int main ( int argc, char** argv )
    {
        long nombreMystere = 0, nombreEntre = 0;
        const long MAX = 100, MIN = 1;

        // Génération du nombre aléatoire
        nombreMystere = genereNombre;

        /* 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");
    }


    Comme je le disais aucune erreur de compilation mais pourtant, ca me fait celà:


    Quel est le nombre ? 50
    C'est plus !

    Quel est le nombre ? 100
    C'est plus !

    Quel est le nombre ? 100000000000000000
    C'est plus !


    Etonnant ! Pourtant mes conditions semblent être correctes et mes signes de grandeurs corrects aussi...

    Ca m'enerve de pas trouver des erreures comme ca à la fin du premier chapitre ! :colere2:


    Soyez franc: J'ai pas trouver l'erreur, je vais ramer dans le deuxième chapitre ? :euh:


    Merci à tous. ^^
    • Partager sur Facebook
    • Partager sur Twitter
      28 avril 2006 à 23:32:05

      Salut,
      nombreMystere = genereNombre;

      Heu comment veut-tu donner une valeur a nombreMystere si tu n'appelle pas la fonction genereNombre ?
      sa serais plus tot

      /* lappel a la fonction*/
      nombreMystere = genereNombre();

      /* la fonction genereNombre*/
       long genereNombre()
                                {
                                const long MAX = 100, MIN = 1;
                                srand(time(NULL));
                                nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
      return nombreMystere;
      }

      • Partager sur Facebook
      • Partager sur Twitter
        28 avril 2006 à 23:34:34

        ta fonction generenombre ne retourne rien...
        de serait plutôt :

        long genereNombre(long nombreMystere)
        {
                  const long MAX = 100, MIN = 1;
                  srand(time(NULL));
                  return ( (rand() % (MAX - MIN + 1)) + MIN );
        }

        edit : grilled by the Kansuu :)
        • Partager sur Facebook
        • Partager sur Twitter
          28 avril 2006 à 23:48:01

          Il me dit que c'est moins mais le chiffre n'est pas situer en tre 0 et 100 !!
          Pourtant
          MAX = 100, MIN = 1


          Bisard ça :euh:


          PS: Code entier:

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

           long compareNombres(long nombreEntre, long nombreMystere)                    //FONCTION
          {                                                                            //QUI
                                                                                       //COMPARE
               if (nombreMystere > nombreEntre)                                        //LES NOMBRES
                                 printf("C'est plus !\n\n");                           //MYSTERE
               else if (nombreMystere < nombreEntre)                                   //ET
                                 printf("Cest moins !\n\n");                           //LE
               else                                                                    //NOMBRE
                                 printf("Bravo vous avez trouvez le bon nombre !");    //ENTRE
          }
                             /////////////////////////////////////// FONCTION QUI GENERE LE NOMBRE MYSTERE
            long genereNombre(long nombreMystere)
          {
                    const long MAX = 100, MIN = 1;
                    srand(time(NULL));
                    return ( (rand() % (MAX - MIN + 1)) + MIN );
          }
                              ///////////////////////////////////////                   
          int main ( int argc, char** argv )
          {
              long nombreMystere = 0, nombreEntre = 0;
              const long MAX = 100, MIN = 1;

              // Génération du nombre aléatoire
              nombreMystere = genereNombre;

              /* 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
            28 avril 2006 à 23:51:41

            mets plutot ça dans le return : rand()%100;
            • Partager sur Facebook
            • Partager sur Twitter
              28 avril 2006 à 23:53:49

              Écoute plus ce que l'on te dit, tu devrais revoir tes cours, tu ne sais pas appeler tes fonctions.
              #include <stdio.h>
              #include <stdlib.h>
              #include <time.h>

               long compareNombres(long nombreEntre, long nombreMystere)                    //FONCTION
              {                                                                            //QUI
                                                                                           //COMPARE
                   if (nombreMystere > nombreEntre)                                        //LES NOMBRES
                                     printf("C'est plus !\n\n");                           //MYSTERE
                   else if (nombreMystere < nombreEntre)                                   //ET
                                     printf("Cest moins !\n\n");                           //LE
                   else                                                                    //NOMBRE
                                     printf("Bravo vous avez trouvez le bon nombre !");    //ENTRE
              }
                                 /////////////////////////////////////// FONCTION QUI GENERE LE NOMBRE MYSTERE
              long genereNombre()
              {
                        const long MAX = 100, MIN = 1;
                        srand(time(NULL));
                        return ( (rand() % (MAX - MIN + 1)) + MIN );
              }
                                  ///////////////////////////////////////                   
              int main ( int argc, char** argv )
              {
                  long nombreMystere = 0, nombreEntre = 0;
                  const long MAX = 100, MIN = 1;

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

                  /* 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
                29 avril 2006 à 1:25:36


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

                 long compareNombres(long nombreEntre, long nombreMystere)                    //FONCTION
                {                                                                            //QUI
                                                                                             //COMPARE
                     if (nombreMystere > nombreEntre)                                        //LES NOMBRES
                                       printf("C'est plus !\n\n");                           //MYSTERE
                     else if (nombreMystere < nombreEntre)                                   //ET
                                       printf("Cest moins !\n\n");                           //LE
                     else                                                                    //NOMBRE
                                       printf("Bravo vous avez trouvez le bon nombre !");    //ENTRE
                }
                                   /////////////////////////////////////// FONCTION QUI GENERE LE NOMBRE MYSTERE
                long genereNombre()
                {
                          const long MAX = 100, MIN = 1;
                          srand(time(NULL));
                          return ( (rand() % (MAX - MIN + 1)) + MIN );
                }
                                    ///////////////////////////////////////                   
                int main ( int argc, char** argv )
                {
                    long nombreMystere = 0, nombreEntre = 0;
                    //const long MAX = 100, MIN = 1;
                    //Les const ne servent a rien puisque ils sont redéfinits dans la fonction generenombre :)
                    // Génération du nombre aléatoire
                    nombreMystere = genereNombre();

                    /* 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");
                    //Pas bien system("pause") ... C'est pas portable :) plutot mettre:
                    getchar();
                }


                Voila deux petites modifs :)
                • Partager sur Facebook
                • Partager sur Twitter
                  29 avril 2006 à 9:01:37

                  Les commentaires ne sont pas là pour faire jolis...
                  Place les utilement, et pas en dégradé ou que sais-je encore :)

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

                  void compareNombres(long nombreEntre, long nombreMystere)                     //Met un type void, vu qu'elle ne renvoie aucune valeur !
                  {                                                                           
                                                                                               
                       if (nombreMystere > nombreEntre)                                       
                                         printf("C'est plus !\n\n");                           
                       else if (nombreMystere < nombreEntre)                                   
                                         printf("Cest moins !\n\n");                           
                       else                                                                   
                                         printf("Bravo vous avez trouvez le bon nombre !");   
                  }
                  long genereNombre()
                  {
                            long nombreGenere; //Pour retourner le nombre genere
                            const long MAX = 100, MIN = 1;

                            nombreGenere = srand(time(NULL));
                            ((rand() % (MAX - MIN + 1)) + MIN );
                            return nombreGenere;
                  }                 
                  int main( int argc, char** argv )
                  {
                      long nombreMystere = 0, nombreEntre = 0;
                      nombreMystere = genereNombre();

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

                         
                          compareNombres(nombreEntre, nombreMystere);

                      } while (nombreEntre != nombreMystere);
                      getchar();
                  }
                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 avril 2006 à 12:43:37

                    pourquoi des commentaires type c++ alors que le code est en c ?
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [C] Exrcice fin de partie I

                    × 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