Partage
  • Partager sur Facebook
  • Partager sur Twitter

Amélioration

Sujet résolu
    6 novembre 2008 à 18:43:12

    J ai reussi a compiler, et mon programme fonctionne!
    Neanmoins j ai voulu l améliorer comme c etait conseille en voulant installer un compteur mais ca ne marche pas :(
    Voila ce que j ai fais:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    main()
    {
    int nombreMystere;
    int nb;
    srand(time(NULL));
    const long MAX = 100, MIN = 1;
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    int essai=0;

    do
    {
    printf("Entrer le nombre auquel vous pensez? ");
    scanf("%d", &nb);

    if (nb==nombreMystere)
    printf("\n\nBravo, tu as trouve le nombre mystere en %d essais ! \n", &essai);
    else if (nb<nombreMystere)
    printf("\nC'est plus ! \n\n");

    else if (nb>nombreMystere)
    printf("\nC'est moins ! \n\n");
    essai=essai++;
    } while (nb != nombreMystere);

    system("PAUSE");

    }

    Comment faut il faire? :euh:
    Merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      6 novembre 2008 à 18:45:05

      Utilise les balises code pour que ce qoit plus lisible! Et mets juste essai++; et pas essai=essai++;
      • Partager sur Facebook
      • Partager sur Twitter
        6 novembre 2008 à 18:47:00

        Bonjour,

        lorsque tu postes un code sur le forum, il est nécessaire d'utiliser les balises code (cf. le règlement).

        Le problème vient probablement de cette ligne :
        printf("\n\nBravo, tu as trouve le nombre mystere en %d essais ! \n", &essai);
        

        Plus précisément de la :
        &essai
        
        • Partager sur Facebook
        • Partager sur Twitter
          6 novembre 2008 à 19:00:10

          le probleme vient de :
          &essai
          


          ensuite le main est plutot :
          int main ()
          


          int nombreMystere; // initialiser les variables à zero
          int nb;
          


          puis la variable
          int essai=1;
          
          devrait initialisée a 1 car l'utilisateur entre une valeur des le debut !!
          il y a egalement un soucis au niveau de ton compteur !!
          essai=essai++;
          

          cela suffit !!!
          essai++;
          
          • Partager sur Facebook
          • Partager sur Twitter
            6 novembre 2008 à 19:11:21

            Citation : micmic

            ensuite le main est plutot :

            int main ()
            

            Je dirais même
            int main(void)
            


            Citation : micmic

            int nombreMystere; // initialiser les variables à zero
            int nb;
            

            La, faut m'expliquer l'intérêt d'initialiser les variables à 0 puisque elles reçoivent toute les deux une valeur avant que l'on s'en serve.
            • Partager sur Facebook
            • Partager sur Twitter
              6 novembre 2008 à 19:12:48

              SALUT,

              Citation : MICMIC

              ensuite le main est plutot :

              INT MAIN()
              




              faux, cette forme de main n'est pas standard. il n'existe, en C, que deux de main standard, à savoir:

              /* main sans parametre */
              int main(void)
              
              /* main avec parametre */
              int main(int agrc, char* argv[])
              


              :magicien:
              • Partager sur Facebook
              • Partager sur Twitter
                7 novembre 2008 à 20:27:12

                Je viens de corriger toutes ces erreurs et le compteur marche !!
                Merci beaucoup :D:D

                Et désolé de ne pas avoir utilisé la balise code, j avoue que je debute sur le forum ! :p

                Encore merci !! :)
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  7 novembre 2008 à 20:28:26

                  N'oublie pas de mettre ton sujet en résolu ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 novembre 2008 à 20:49:49

                    Citation : double_ZerO

                    il n'existe, en C, que deux de main standard, à savoir:

                    /* main sans parametre */
                    int main(void)
                    
                    /* main avec parametre */
                    int main(int agrc, char* argv[])
                    


                    pas d'accord, le main peut prendre d'autres parametres
                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 novembre 2008 à 21:07:47

                      salut joccd, je n'ai pas dit que main ne pouvait pas prendre d'autres paramètres et preuve en est avec gtk+:

                      int main(int argc,char **argv)
                      


                      j'ai dit que la forme de main n'était pas standard et qu'il n'existe, en C, que 2 formes, celle citée plus haut...

                      :magicien:

                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 novembre 2008 à 21:09:35

                        moi je te parlais d'un troisième paramètre ...
                        • Partager sur Facebook
                        • Partager sur Twitter
                          7 novembre 2008 à 21:13:11

                          re, ben vas y explique nous quel est le troisième paramètre de main (et qui soit standard bien sur)...
                          • Partager sur Facebook
                          • Partager sur Twitter
                            7 novembre 2008 à 21:27:33

                            int main(int argc, char *argv[], char **env) //sans avoir besoin d'include
                            {
                            }
                            


                            Je ne peux pas certifier que ce soit standard, mais ça fonctionne sous Windows, Linux, BSD et Sun
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              3 janvier 2009 à 12:27:55

                              Citation : double_ZerO


                              int main(int argc,char **argv)
                              



                              int main(int agrc, char* argv[])
                              

                              C'est la même chose.
                              Par contre dans certains cas (contrôle d'un circuit, robotique...) tu vas avoir besoin d'un
                              void main(void)
                              
                              • Partager sur Facebook
                              • Partager sur Twitter

                              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