Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fonctionnement

Problème pour faire fonctionner mon code

    27 juin 2007 à 0:04:22

    Voila je débute en C est j'ia un rpoblème pour alncer mon code. Lorsque je double clique sur monfichier.exe la console s'affiche mais le problème c'est que rien ne se passe dedans et que je ne peux rien y mettre lorsque je la ferme, il y a 5 secondes qui s'écoulent puis un message d'erreur me mettant terminer maintenant ou annuler. Voici mon code :



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


    int main ( int argc, char** argv )
    {
        long niveauChoisit = 0;
            long reprendreQuitter = 0;

        printf ("Voulez-vous faire une partie ou quitter ?\n\n");
            printf("Si vous voulez faire une partie tapez 1, si vous voulez quitter tapez 2");
        scanf ("%ld", &reprendreQuitter);

            if (reprendreQuitter == 1)
            {
        printf ("Veuillez choisir le mode de difficulté :\n\n");
            printf ("Tapez 1 Facile, le chiffre est compris entre 0 et 11\n");
            printf ("Tapez 2 Moyen, le chiffre est compris entre 0 et 101\n");
            printf ("Tapez 3 Difficile, le chiffre est compris entre 0 et 1001\n");
            printf ("Tapez 4 Expert, le chiffre est compris entre 0 et 10001\n");
        scanf ("%ld", &niveauChoisit);

            if (niveauChoisit == 1)
            {

            long nombreMystere = 0, nombreEntre = 0;
            long MAX = 10, MIN = 1;

            // On génére le nombre aléatoire

        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

            // La boucle du programme qui se répète tant que le nombre mystère n'est pas trouvé.

            while (nombreEntre != nombreMystere)
            {
                    // On demande le nombre
                    printf("Quel est le nombre ? ");
                    scanf("%ld", &nombreEntre);

                    // On compare le nombre entré avec le nombre mystère

                    if (nombreMystere > nombreEntre)
                            printf("C'est plus !\n\n");
                    else if (nombreMystere < nombreEntre)
                            printf("C'est moins !\n\n");
                    else
                            printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
            }

            }


            else if (niveauChoisit == 2)
            {

        long nombreMystere = 0, nombreEntre = 0;
            long MAX = 100, MIN = 1;

            // On génére le nombre aléatoire

            srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

            // La boucle du programme qui se répète tant que le nombre mystère n'est pas trouvé.

            while (nombreEntre != nombreMystere)
            {
                    // On demande le nombre
                    printf("Quel est le nombre ? ");
                    scanf("%ld", &nombreEntre);

                    // On compare le nombre entré avec le nombre mystère

                    if (nombreMystere > nombreEntre)
                            printf("C'est plus !\n\n");
                    else if (nombreMystere < nombreEntre)
                            printf("C'est moins !\n\n");
                    else
                            printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
            }

            }


            else if (niveauChoisit == 3)
            {

        long nombreMystere = 0, nombreEntre = 0;
            long MAX = 1000, MIN = 1;

            // On génére le nombre aléatoire

            srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

            // La boucle du programme qui se répète tant que le nombre mystère n'est pas trouvé.

            while (nombreEntre != nombreMystere);
            {
                    // On demande le nombre
                    printf("Quel est le nombre ? ");
                    scanf("%ld", &nombreEntre);

                    // On compare le nombre entré avec le nombre mystère

                    if (nombreMystere > nombreEntre)
                            printf("C'est plus !\n\n");
                    else if (nombreMystere < nombreEntre)
                            printf("C'est moins !\n\n");
                    else
                            printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
            }

            }


            else if (niveauChoisit == 4)
            {

        long nombreMystere = 0, nombreEntre = 0;
            long MAX = 10000, MIN = 1;

            // On génére le nombre aléatoire

            srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

            // La boucle du programme qui se répète tant que le nombre mystère n'est pas trouvé.

            while (nombreEntre != nombreMystere);
            {
                    // On demande le nombre
                    printf("Quel est le nombre ? ");
                    scanf("%ld", &nombreEntre);

                    // On compare le nombre entré avec le nombre mystère

                    if (nombreMystere > nombreEntre)
                            printf("C'est plus !\n\n");
                    else if (nombreMystere < nombreEntre)
                            printf("C'est moins !\n\n");
                    else
                            printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
            }

            }

        }

            else
            {
                    printf ("veuillez ecrire un des nombres du menu des difficulte, merci d'avance");
            }



            }
        system("PAUSE");
    }




    Merci d'avance de 'maider et bonne soiré :D
    • Partager sur Facebook
    • Partager sur Twitter
      27 juin 2007 à 0:10:44

      Combien de fois faudras-t-il qu'on le dise?
      "srand" ne doit être appelé qu'"une seule fois" dans le programme.
      • Partager sur Facebook
      • Partager sur Twitter
        27 juin 2007 à 0:17:14

        Ah bon ben sa marche pas j'arrive pas a corriger l'erreur si tu pouvez me refiler le code corriger pour que je compare.
        • Partager sur Facebook
        • Partager sur Twitter
          27 juin 2007 à 0:51:11

          int main ( int argc, char** argv )
          {
              // Ton code
              system("PAUSE");
          }

          Déjà là ya souci, tu dit au système que tu lui renvoi une valeur de retour au moment de l'appel du programme et pour finir tu lui donne rien ! o_O
          • Partager sur Facebook
          • Partager sur Twitter
            27 juin 2007 à 0:56:08

            en effet, n'oublies pas le code de base quand même ;)
            • Partager sur Facebook
            • Partager sur Twitter
              27 juin 2007 à 1:44:32

              Alors, personnellement j'ai plusieurs commentaires à faire qui ne concernent pas ton problème mais qui peuvent t'aider à rendre ton code plus3... "potable" :o...
              -À tu remarquer la longueur de ton code ?
              Cela vient du fait que tu répète toujours les mêmes lignes :

              if (niveauChoisit == X)
                      {

                      long nombreMystere = 0, nombreEntre = 0;
                      long MAX = X, MIN = 1;

                      // On génére le nombre aléatoire

                  srand(time(NULL));
                  nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

                      // La boucle du programme qui se répète tant que le nombre mystère n'est pas trouvé.

                      while (nombreEntre != nombreMystere)
                      {
                              // On demande le nombre
                              printf("Quel est le nombre ? ");
                              scanf("%ld", &nombreEntre);

                              // On compare le nombre entré avec le nombre mystère

                              if (nombreMystere > nombreEntre)
                                      printf("C'est plus !\n\n");
                              else if (nombreMystere < nombreEntre)
                                      printf("C'est moins !\n\n");
                              else
                                      printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
                      }

                      }


              Tu remarquera que tu répète 5 fois ça (ou 4 je sais plus :p ). Mais la seule chose qui change entre ces 4 codes, c'est uniquement les deux endroits où j'ai écrit X. Donc tu peut te débrouiller pour mettre une variable à la place de ce X (qui représente le nombre maximal) qui change en fonction du choix du niveau.
              Et même mieux, mettre ce code dans une fonction telle que celle-là :
              int jeux(long MAX)
              {
                  long nombreMystere = 0;
                  long nombreEntre = -1; // je ne met pas 0 au cas où le nombre mystère vaut 0 ce qui finirait notre boucle.
                 
                      // On génére le nombre aléatoire
                  srand(time(NULL));
                  nombreMystere = (rand() % (MAX - 0 + 1)) + 0; // je remplace MIN par 0 puisque tout tes nombres aléatoire sont compris entre [0;MAX]

                      // La boucle du programme qui se répète tant que le nombre mystère n'est pas trouvé.

                      while (nombreEntre != nombreMystere)
                      {
                              // On demande le nombre
                              printf("Quel est le nombre ? ");
                              scanf("%ld", &nombreEntre);

                              // On compare le nombre entré avec le nombre mystère

                              if (nombreMystere > nombreEntre)
                                      printf("C'est plus !\n\n");
                              else if (nombreMystere < nombreEntre)
                                      printf("C'est moins !\n\n");
                              else
                                      printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
                      }
              return 0;
              }
              (tu remarqueras que j'ai repris ton code au mot près à part dans les déclarations de variable, pour que tout ça marche dans une fonction indépendant du main.

              Ensuite, tout ces if me donne mal à la tête >_< . Tu pourrais (devrais :-° ) faire un switch à la place :

              switch (niveauChoisit)
                      {
                             case 1:
                             nombreMax = 11;
                             break;
                             
                             case 2:
                             nombreMax = 101;
                             break;
                             
                             case 3:
                             nombreMax = 1001;
                             break;
                             
                             case 4:
                             nombreMax = 10001;
                             break;
                             
                             default :
                             nombreMax = 100001; //ça leur apprendra à mettre des bétises ^^
                             break;
                             
                             }

               // et on envoie le nombre max à la fonction en écrivant

              jeux(nombreMax);


              Oublies pas de mettre un else au cas où le joueur ne veut pas jouer (donc si "reprendreQuitter != 1"
              else // au cas où quitter vaut 0 ou autre chose
               {
                    printf("Le programme va s'autodétruire dans 3 sec. \n 2sec.\n 1sec.\nBOOOOOOOOOOOOUUUUUUUUUUUMMMMM !!!! ^^ ");
                    }


              Donc si tu mets tout ça ensemble (j'ai modifié les déclarations pour que ma version reste la même mais j'ai gardé ton code à part les erreurs que je vais te donner de juste après) :
              #include <stdio.h>
              #include <stdlib.h>
              #include <time.h>

              int jeux(long MAX);

              int main ( int argc, char* argv )
              {
                  long niveauChoisit = 0, reprendreQuitter = 0, nombreMax = 0;

                  printf ("Voulez-vous faire une partie ou quitter ?\n\n");
                  printf("Si vous voulez faire une partie tapez 1, si vous voulez quitter tapez 2");
                 
                  scanf ("%ld", &reprendreQuitter);

                      if (reprendreQuitter == 1)
                      {
                  printf ("Veuillez choisir le mode de difficulté :\n\n");
                      printf ("Tapez 1 Facile, le chiffre est compris entre 0 et 11\n");
                      printf ("Tapez 2 Moyen, le chiffre est compris entre 0 et 101\n");
                      printf ("Tapez 3 Difficile, le chiffre est compris entre 0 et 1001\n");
                      printf ("Tapez 4 Expert, le chiffre est compris entre 0 et 10001\n");
                  scanf ("%ld", &niveauChoisit);


                      switch (niveauChoisit)
                      {
                             case 1:
                             nombreMax = 11;
                             break;
                             
                             case 2:
                             nombreMax = 101;
                             break;
                             
                             case 3:
                             nombreMax = 1001;
                             break;
                             
                             case 4:
                             nombreMax = 10001;
                             break;
                             
                             default :
                             nombreMax = 100001; //ça leur apprendra à mettre des bétises ^^
                             break;
                             
                             }
              jeux(nombreMax); // j'envoie tout ça à ma fonction
                                       

              }
               else // au cas où quitter vaut 0
               {
                    printf("Le programme va s'autodétruire dans 3 sec. \n 2sec.\n 1sec.\nBOOOOOOOOOOOOUUUUUUUUUUUMMMMM !!!! ^^ ");
                    }
                   
                  system("PAUSE");
                  return 0;
              }



              int jeux(long MAX)
              {
                  long nombreMystere = 0;
                  long nombreEntre = -1; // je ne met pas 0 au cas où le nombre mystère vaut 0 ce qui finirait notre boucle.
                 
                      // On génére le nombre aléatoire
                  srand(time(NULL));
                  nombreMystere = (rand() % (MAX - 0 + 1)) + 0; // je remplace MIN par 0 puisque tout tes nombres aléatoire sont compris entre [0;MAX]

                      // La boucle du programme qui se répète tant que le nombre mystère n'est pas trouvé.

                      while (nombreEntre != nombreMystere)
                      {
                              // On demande le nombre
                              printf("Quel est le nombre ? ");
                              scanf("%ld", &nombreEntre);

                              // On compare le nombre entré avec le nombre mystère

                              if (nombreMystere > nombreEntre)
                                      printf("C'est plus !\n\n");
                              else if (nombreMystere < nombreEntre)
                                      printf("C'est moins !\n\n");
                              else
                                      printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
                      }
              return 0;
              }


              Tu remarquera que mon code fait environ 90 lignes alors que le tiens fait plus de 160 ;)
              EDIT (j'allais oublier la suite moi ^^) :

              Et une seule, chose à préciser avant de venir aux erreurs de ton code, c'est que tu proprose au début un nombre mystère compris entre 0 et un nombre maximal. Or, quand tu écris ton code, dans srand, ton MIN vaut 1 au lieu de 0 (comme tu le proposait dans les printf ).

              Bon, maintenant les erreurs :colere2: :

              int main ( int argc, char** argv ) // il n'y a qu'une seule astérix donc c'est plutôt
              int main ( int argc, char* argv )


              Et là où tu as ta principale erreure, c'est dans tes if et compagnie, tu ne les fermes pas correctement :
                    while (nombreEntre != nombreMystere);
                      {
                              // On demande le nombre
                              printf("Quel est le nombre ? ");
                              scanf("%ld", &nombreEntre);

                              // On compare le nombre entré avec le nombre mystère

                              if (nombreMystere > nombreEntre)
                                      printf("C'est plus !\n\n");
                              else if (nombreMystere < nombreEntre)
                                      printf("C'est moins !\n\n");
                              else
                                      printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
                      } // cette accolade ferme ton while

                      } // celle-ci ferme ton "else if (niveauChoisit == 4)"

                  } // celle-ci ferme ton "if (reprendreQuitter == 1)"

                      else
                      {
                              printf ("veuillez ecrire un des nombres du menu des difficulte, merci d'avance");
                      } // celle-ci ferme le else juste au dessus



                      } // cette accolade est en trop
                  system("PAUSE");
              return 0; // comme l'a fait remarquer Xavier59870, il faut toujours finir ta fonction main par un return "quelque chose";
              }


              Mais tu remarquera que si tu appuies sur 2 dès le début, tu auras d'écris
              veuillez ecrire un des nombres du menu des difficulte, merci d'avance

              alors que toi tu voudrais un truc du genre
              Au revoir et merci d'avoir utilisé mon programme révolutionnnaire

              ce qui signifierais que ton else est ici le else du
              if (reprendreQuitter == 1)
              alors qu'il me semble que tu l'as écris pour ton
              if (niveauChoisit == 1)
              au cas où l'utilisateur ne rentre pas le bon choix de niveau (au passage, ce probleme est réglé dans mon switch avec default).
              Donc cela signifie que tu devrais fermer ton
              if (reprendreQuitter == 1)
              après le else et donc en fait, l'accolade en trop se trouve donc avant le else.
              Je te propose donc, d'écrire
              while (nombreEntre != nombreMystere);
                      {
                              // On demande le nombre
                              printf("Quel est le nombre ? ");
                              scanf("%ld", &nombreEntre);

                              // On compare le nombre entré avec le nombre mystère

                              if (nombreMystere > nombreEntre)
                                      printf("C'est plus !\n\n");
                              else if (nombreMystere < nombreEntre)
                                      printf("C'est moins !\n\n");
                              else
                                      printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
                      }

                      }

              // il y a une accolade en moins ici

                     else
                      {
                              printf ("veuillez ecrire un des nombres du menu des difficulte, merci d'avance");
                      }
              }


                       // cette accolade est mal placée
                  system("PAUSE");
              }

              Et tu verras que ton code marche si tu change les problèmes que je t'ai montré ;) . Mais dis toi que ton problème d'accolade est survenu parce que ton code est trop "lourd" est que quand on a pas trop l'habitude (de faire des erreurs :p:p:p ) c'est difficile de se repérer dans un code "complexe" comme le tiens. C'est pour cela que je t'invite (façon de parler :lol: ) à utiliser des switch plus souvent et de mettre les bouts de codes que tu utilises souvent dans des fonctions différentes de ton main.

              Voilà, si tu n'as pas compris un truc ou autre chose tu n'as qu'a le dire et si je pense a repasser sur le forum je te l'expliquerais (ou mp moi à la limite) :) .
              • Partager sur Facebook
              • Partager sur Twitter
                27 juin 2007 à 11:20:22

                J'ai tout modifié mais sa ne marche toujours pas ... Je pense que c'est un problème avec windows au faîte parce que chez un ami sa marche très bien le code qu'on a corriger. Donc chez moi sa amrche pas et je sais aps pourquoi est que quelqu'un pourrai m'aider ?
                • Partager sur Facebook
                • Partager sur Twitter
                  27 juin 2007 à 11:27:37

                  Quel est ton système, ton IDE ? A tout hasard, tu n'aurais pas Windows Vista couplé avec MinGW/GCC (donc code::blocks ou dev-cpp) ? Si oui, va voir dans la faq sur le C, y'a un topic là dessus.

                  Sinon, donnes le log de compilation (l'endroit diffère selon ton IDE).
                  • Partager sur Facebook
                  • Partager sur Twitter
                  J'ai déménagé sur Zeste de savoir — Ex-manager des modérateurs.
                    27 juin 2007 à 11:39:59

                    Citation : Xavier59870

                    int main ( int argc, char** argv )
                    {
                        // Ton code
                        system("PAUSE");
                    }


                    Déjà là ya souci, tu dit au système que tu lui renvoi une valeur de retour au moment de l'appel du programme et pour finir tu lui donne rien ! o_O



                    Que ce soit claire , net et précis : devc++ est déprecié , sur un edi récent(codeblocks) tu n'as pas besoin de system("PAUSE"); .

                    • Partager sur Facebook
                    • Partager sur Twitter
                      27 juin 2007 à 11:55:01

                      Voici le nouveau code merci de me dire ce qui beug si c'est dans le code. Autrement j'utilise code blocks et j'ai windows xp.




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

                      int jeux(long MAX);

                      int main ( int argc, char* argv )
                      {
                          long niveauChoisit = 0, reprendreQuitter = 0, nombreMax = 0;

                          printf ("Voulez-vous faire une partie ou quitter ?\n\n");
                          printf("Si vous voulez faire une partie tapez 1, si vous voulez quitter tapez 2");

                          scanf ("%ld", &reprendreQuitter);

                              if (reprendreQuitter == 1)
                              {
                          printf ("Veuillez choisir le mode de difficulté :\n\n");
                              printf ("Tapez 1 Facile, le chiffre est compris entre 0 et 11\n");
                              printf ("Tapez 2 Moyen, le chiffre est compris entre 0 et 101\n");
                              printf ("Tapez 3 Difficile, le chiffre est compris entre 0 et 1001\n");
                              printf ("Tapez 4 Expert, le chiffre est compris entre 0 et 10001\n");
                          scanf ("%ld", &niveauChoisit);


                              switch (niveauChoisit)
                              {
                                     case 1:
                                     nombreMax = 11;
                                     break;

                                     case 2:
                                     nombreMax = 101;
                                     break;

                                     case 3:
                                     nombreMax = 1001;
                                     break;

                                     case 4:
                                     nombreMax = 10001;
                                     break;

                                     default :
                                     nombreMax = 100001; //ça leur apprendra à mettre des bétises ^^
                                     break;

                                     }
                      jeux(nombreMax); // j'envoie tout ça à ma fonction


                      }
                       else // au cas où quitter vaut 0
                       {
                            printf("Le programme va s'autodétruire dans 3 sec. \n 2sec.\n 1sec.\nBOOOOOOOOOOOOUUUUUUUUUUUMMMMM !!!! ^^ ");
                            }

                          system("PAUSE");
                          return 0;
                      }



                      int jeux(long MAX)
                      {
                          long nombreMystere = 0;
                          long nombreEntre = -1; // je ne met pas 0 au cas où le nombre mystère vaut 0 ce qui finirait notre boucle.

                              // On génére le nombre aléatoire
                          srand(time(NULL));
                          nombreMystere = (rand() % (MAX - 0 + 1)) + 0; // je remplace MIN par 0 puisque tout tes nombres aléatoire sont compris entre [0;MAX]

                              // La boucle du programme qui se répète tant que le nombre mystère n'est pas trouvé.

                              while (nombreEntre != nombreMystere);
                              {
                                      // On demande le nombre
                                      printf("Quel est le nombre ? ");
                                      scanf("%ld", &nombreEntre);

                                      // On compare le nombre entré avec le nombre mystère

                                      if (nombreMystere > nombreEntre)
                                              printf("C'est plus !\n\n");
                                      else if (nombreMystere < nombreEntre)
                                              printf("C'est moins !\n\n");
                                      else
                                              printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
                              }

                              }

                      // il y a une accolade en moins ici

                             else
                              {
                                      printf ("veuillez ecrire un des nombres du menu des difficulte, merci d'avance");
                              }
                      }


                               // cette accolade est mal placée
                          system("PAUSE");
                      }
                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 juin 2007 à 12:17:44

                        ce code marche très bien chez moi, enfin, en tout cas il se compile bien mais je n'ai pas testé le programme mais il n'y a pas de raison apparente (à mes yeux non experts) que ce code ne marche pas ;)

                        EDIT: après avoir bien mangé je me rend compte de quelque chose :-° je devrais avoir honte de t'avoir dit que c'était bien :lol: . En fait, tu n'as pas du tout comprendre de ce que je voulais te dire (c'est ma faute ;) ).
                        Explications sur le nombre d'accolade :
                        non je ne te prend pas pour un débile mais ça me permettra de m'expliquer plus facillement :
                        tu dois avoir autant d'accolades fermantes qu'ouvrante dans ton code.
                        Quand tu ouvre un if t'es bien obliger de le fermer :lol: et ça pour toutes tes accolades.

                        Quand j'ai corriger le nombre d'accolade en écrivant :
                        while (nombreEntre != nombreMystere);
                                {
                                        // On demande le nombre
                                        printf("Quel est le nombre ? ");
                                        scanf("%ld", &nombreEntre);

                                        // On compare le nombre entré avec le nombre mystère

                                        if (nombreMystere > nombreEntre)
                                                printf("C'est plus !\n\n");
                                        else if (nombreMystere < nombreEntre)
                                                printf("C'est moins !\n\n");
                                        else
                                                printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
                                }

                                }

                        // il y a une accolade en moins ici

                               else
                                {
                                        printf ("veuillez ecrire un des nombres du menu des difficulte, merci d'avance");
                                }
                        }


                                 // cette accolade est mal placée
                            system("PAUSE");
                        }

                        ça c'était dans TON code (celui que tu nous a présenté au TOUT DEBUT)mais il n'est pas valide pour le miens.

                        Mais dans MON code, où j'ai une fonction "à part" du main,
                        il faut écrire (et je corrige ton dernier code:

                        int jeux(long MAX)
                        { // on ouvre la fonction (1 accolade ouvrante)
                            long nombreMystere = 0;
                            long nombreEntre = -1;

                            srand(time(NULL));
                            nombreMystere = (rand() % (MAX - 0 + 1)) + 0;
                             

                                while (nombreEntre != nombreMystere);
                                { // on ouvre la boucle (2 accolades ouvrantes en tout
                                        // On demande le nombre
                                        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");
                                        else
                                                printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
                                } // on ferme la boucle (2 accolades ouvrantes + 1 fermante)

                                } // si on en crois ton code, tu ferme ta fonction ici alors que tu ne devra la fermer qu'à la fin. Donc cette accolade fermante est en trop.



                               else
                                { // tu ouvre ton else (3 accolades ouvrantes et 1 fermantes)
                                        printf ("veuillez ecrire un des nombres du menu des difficulte, merci d'avance");
                                } // tu ferme ton else (3 accolades ouvrantes + 2 fermantes)
                        } // même problème d'accolade car ici tu ferme ta fonction avant la fin donc : a supprimer ! ^^



                            system("PAUSE");
                        return 0; // ne l'oublions pas ce 'return 0;'
                        } // et enfin tu ferme ta fonction jeux (3 accolades ouvrantes + 3 fermantes = 2 accolades à supprimer :p


                        Je sais pas pourquoi mais sous dev-c++ je peut mettre 25 accolades fermantes, il me dit rien (c'est que je l'ai bien dresser je pense :p:lol: ).

                        Du coup, si tu fait un mixte des 2 codes, c'est normal que ça marche pas. :lol:
                        En tout cas, ne désespère pas de voire ton code marcher ainsi que de trouver les erreurs présentes dedans... ça viens à force de... se tromper :p (et de comprendre où on s'est tromper pour ne plus faire la même erreur ;) ).
                        • Partager sur Facebook
                        • Partager sur Twitter
                          27 juin 2007 à 18:53:29

                          Citation : scriptoff

                          Citation : Xavier59870

                          int main ( int argc, char** argv )
                          {
                              // Ton code
                              system("PAUSE");
                          }


                          Déjà là ya souci, tu dit au système que tu lui renvoi une valeur de retour au moment de l'appel du programme et pour finir tu lui donne rien ! o_O



                          Que ce soit claire , net et précis : devc++ est déprecié , sur un edi récent(codeblocks) tu n'as pas besoin de system("PAUSE"); .


                          Tout a fait d'accord avec toi, et pour ma photo je ne l'ai pas encore mis à jour et elle date !
                          Et en plus, je ne suis pas fan de la fonction system(), c'était juste pour lui montré son erreur ;), car en regardant plus haut tu verra que c'est tout simplement ce qu'il a marquer !
                          • Partager sur Facebook
                          • Partager sur Twitter

                          Fonctionnement

                          × 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