Partage
  • Partager sur Facebook
  • Partager sur Twitter

Un petit problème...

Fin de ligne ?

Sujet résolu
    10 mars 2006 à 12:16:40

    Bonjour à tous, je viens de terminer de lire la partie I de ce super Tuto (Bravo ^^ ).
    J'ai voulu, pour m'entraîner :) , modifier le jeu du plus ou moins, le problème, c'est qu'au moment de la compilation, j'ai un problème que je n'arrive pas à résoudre.

    Je m'explique.

    Le problème se trouve à la toute dernière ligne, dans le rapport de compilation (vous savez en bas, Il est écrit : Syntax error at end of input.

    Pourriez vous m'aider ?


    J'ai fait quelques essais, bien sûr ;) pour résouble le problème (en vain :colere: ) et c'est à chaque fois la dernière ligne qui foire, quoi que ce soit ecrit !.


    Merci d'avance.

    Voici le code source:

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


    int main ( int argc‚ char *argv[])

    {
       
    printf ("Bienvenue sur le jeu du plus ou moins !\n\n");
    printf ("Votre but est de trouver le nombre mystère !\n\n");

    long Niveau;
    printf ("Choisissez votre difficulte\n");
    printf ("1. Facile (Nombre situe entre 0 et 100)\n");
    printf ("2. Moyen (Nombre situe entre 0 et 1000)\n");
    printf ("3. Difficile (nombre situe entre 0 et 10000\n");

    {
         {  switch (Niveau)
           {
           case 1:
                printf("Votre niveau : Facile");
               
               
            long nombreFacile = 0‚ nombreEntreFacile = 0;
            const long MAX = 100‚ MIN = 1;



            srand(time(NULL));
        nombreFacile = (rand() % (MAX – MIN + 1)) + MIN;

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

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

                    if (nombreFacile > nombreEntreFacile)
                            printf("C'est plus !\n\n");
                    else if (nombreFacile < nombreEntreFacile)
                            printf("C'est moins !\n\n");
                    else // Si le nombre n'est ni inférieur ni supérieur‚ c'est qu'il est égal‚ donc c'est bon !
                            printf ("Bravo‚ vous avez trouve le nombre mystere !!!\n\n");
            } while (nombreEntreFacile != nombreFacile);
            break;

    //niveau moyen

           case 2:
                printf("Votre niveau : Moyen");
               
               
            long nombreMoyen = 0‚ nombreEntreMoyen = 0;
            const long MAX2 = 1000‚ MIN2 = 1;



            srand(time(NULL));
        nombreMoyen = (rand() % (MAX2 – MIN2 + 1)) + MIN2;

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

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

                    if (nombreMoyen > nombreEntreMoyen)
                            printf("C'est plus !\n\n");
                    else if (nombreMoyen < nombreEntreMoyen)
                            printf("C'est moins !\n\n");
                    else // Si le nombre n'est ni inférieur ni supérieur‚ c'est qu'il est égal‚ donc c'est bon !
                            printf ("Bravo‚ vous avez trouve le nombre mystere !!!\n\n");
            } while (nombreEntreMoyen != nombreMoyen);
            break;


           case 3:
                printf("Votre niveau : Difficile");
               
               
            long nombreDifficile = 0‚ nombreEntreDifficile = 0;
            const long MAX3 = 100‚ MIN3 = 1;



            srand(time(NULL));
        nombreDifficile = (rand() % (MAX3 – MIN3 + 1)) + MIN3;

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

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

                    if (nombreDifficile > nombreEntreDifficile)
                            printf("C'est plus !\n\n");
                    else if (nombreDifficile < nombreEntreDifficile)
                            printf("C'est moins !\n\n");
                    else // Si le nombre n'est ni inférieur ni supérieur‚ c'est qu'il est égal‚ donc c'est bon !
                            printf ("Bravo‚ vous avez trouve le nombre mystere !!!\n\n");
                    } while (nombreEntreDifficile != nombreDifficile);

            system("PAUSE");
    }
    • Partager sur Facebook
    • Partager sur Twitter
      10 mars 2006 à 12:21:28

      printf ("3. Difficile (nombre situe entre 0 et 10000\n");
      {
      {
      >> A quoi elles te servent ces 2 là ? de toute facon elles sont pas fermées plus loin

      De plus le system("PAUSE"); est dans les case 3 du switch car tu as oublié de fermer le switch.

      En gros vire les 2 premiers { qui servent à rien , ferme le swich avec } juste avant le system pause et tout ira mieux.
      • Partager sur Facebook
      • Partager sur Twitter
        10 mars 2006 à 12:23:06

        D'après ton erreur il faut que tu sautes des lignes à la fin de ton code.
        • Partager sur Facebook
        • Partager sur Twitter
          10 mars 2006 à 12:28:48

          Citation : fock

          D'après ton erreur il faut que tu sautes des lignes à la fin de ton code.



          Pas vraiment non. Il s'agit d'une syntax error... c'est à dire qu'il attendait quelque chose qui n'est malheureusement pas arrivé car il vient de tomber sur la fin de fichier (ici les } mal fermées).

          Le message d'erreur pour l'absence de fin de ligne en fin fichier je sais même plus quel message ça donne tellement ça m'ait presque jamais arrivé.
          • Partager sur Facebook
          • Partager sur Twitter
            10 mars 2006 à 12:58:02

            Merci, ça marche maintenant ! ^^
            Autre problème...

            Je sais, je suis chiant... :p


            Je n'ai pas ce qu'il faut quand au fois de la difficulté, j'obtiens ceci :

            Bienvenue sur le jeu du plus ou moins !

            Choisissez votre difficulte.
            1. Facile (Nombre situe entre 0 et 100)
            2. Moyen (Nombre situe entre 0 et 1000)
            3. Difficile (nombre situe entre 0 et 10000

            Votre niveau : MoyenQuel est le nombre?
            • Partager sur Facebook
            • Partager sur Twitter
              10 mars 2006 à 12:59:16

              A lors voilà ce que j'ai trouvé: ^^

              • les deux "{" du début son en trop
              • un scanf oublié au début aussi
              • quelques \n d'oubliés mais ça c'est pas grave ça marche sans ;)


              Voila ce que donne ton code corrigé et indenté (j'ai testé ça marche):


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

              int main (int argc‚ char *argv[])
              {
                  printf ("Bienvenue sur le jeu du plus ou moins !\n\n");
                  printf ("Votre but est de trouver le nombre mystère !\n\n");

                  long Niveau = 0;
                  printf ("Choisissez votre difficulte\n");
                  printf ("1. Facile (Nombre situe entre 0 et 100)\n");
                  printf ("2. Moyen (Nombre situe entre 0 et 1000)\n");
                  printf ("3. Difficile (nombre situe entre 0 et 10000\n");

                  scanf("%ld"‚ &Niveau);

                  switch (Niveau)
                  {
                      case 1:
                      printf("Votre niveau : Facile\n");


                      long nombreFacile = 0‚ nombreEntreFacile = 0;
                      const long MAX = 100‚ MIN = 1;



                      srand(time(NULL));
                      nombreFacile = (rand() % (MAX – MIN + 1)) + MIN;

                      do
                      {

                          printf("Quel est le nombre ? ");
                          scanf("%ld"‚ &nombreEntreFacile);

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

                          if (nombreFacile > nombreEntreFacile)
                              printf("C'est plus !\n\n");
                          else if (nombreFacile < nombreEntreFacile)
                              printf("C'est moins !\n\n");
                          else // Si le nombre n'est ni inférieur ni supérieur‚ c'est qu'il est égal‚ donc c'est bon !
                              printf ("Bravo‚ vous avez trouve le nombre mystere !!!\n\n");
                      }
                      while (nombreEntreFacile != nombreFacile);
                      break;

                      //niveau moyen

                      case 2:
                      printf("Votre niveau : Moyen\n");


                      long nombreMoyen = 0‚ nombreEntreMoyen = 0;
                      const long MAX2 = 1000‚ MIN2 = 1;



                      srand(time(NULL));
                      nombreMoyen = (rand() % (MAX2 – MIN2 + 1)) + MIN2;

                      do
                      {

                          printf("Quel est le nombre ? ");
                          scanf("%ld"‚ &nombreEntreMoyen);

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

                          if (nombreMoyen > nombreEntreMoyen)
                              printf("C'est plus !\n\n");
                          else if (nombreMoyen < nombreEntreMoyen)
                              printf("C'est moins !\n\n");
                          else // Si le nombre n'est ni inférieur ni supérieur‚ c'est qu'il est égal‚ donc c'est bon !
                              printf ("Bravo‚ vous avez trouve le nombre mystere !!!\n\n");
                      }
                      while (nombreEntreMoyen != nombreMoyen);
                      break;


                      case 3:
                      printf("Votre niveau : Difficile\n");


                      long nombreDifficile = 0‚ nombreEntreDifficile = 0;
                      const long MAX3 = 100‚ MIN3 = 1;



                      srand(time(NULL));
                      nombreDifficile = (rand() % (MAX3 – MIN3 + 1)) + MIN3;

                      do
                      {

                          printf("Quel est le nombre ? ");
                          scanf("%ld"‚ &nombreEntreDifficile);

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

                          if (nombreDifficile > nombreEntreDifficile)
                              printf("C'est plus !\n\n");
                          else if (nombreDifficile < nombreEntreDifficile)
                              printf("C'est moins !\n\n");
                          else // Si le nombre n'est ni inférieur ni supérieur‚ c'est qu'il est égal‚ donc c'est bon !
                              printf ("Bravo‚ vous avez trouve le nombre mystere !!!\n\n");
                      }
                      while (nombreEntreDifficile != nombreDifficile);
                  }

                  system("PAUSE");
                  return 0;
              }

              • Partager sur Facebook
              • Partager sur Twitter
                10 mars 2006 à 13:09:37

                Autre problème...

                Je sais, je suis chiant... :p


                Je n'ai pas ce qu'il faut quand au fois de la difficulté, j'obtiens ceci :




                Bienvenue sur le jeu du plus ou moins !
                Choisissez votre difficulte.
                1. Facile (Nombre situe entre 0 et 100)
                2. Moyen (Nombre situe entre 0 et 1000)
                3. Difficile (nombre situe entre 0 et 10000

                Votre niveau : MoyenQuel est le nombre?


                Ca me donne ça, or, je n'ai pas choisi de difficulté, c'est-à-dire que j'ai ça au moment où j'exexute le programme.

                Merci Amadeus, mais j'ai fais un copier-coller du code que tu m'a donné, mais il ne fonctionne pas. Merci quand même.
                • Partager sur Facebook
                • Partager sur Twitter
                  10 mars 2006 à 13:31:27

                  Hord Fast regarde bien le code d'Amadeus il a rajouté un scanf au début pour demander de choisir le niveau de difficulté.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 mars 2006 à 15:54:33

                    Le problème majeur de son code était qu'il avait oublié de fermer son switch ;)

                    Amadeus: ton code foire aussi bien que le sien.
                    Je m'en vais te le corriger je reviens ;)

                    EDIT: J'ai pas envi de m'y plonger enfaites car ton code est mal "écrit", de plus tu utilises beaucoup de MAX et MIN. Un seul suffit !

                    RE-EDIT: Enfaites je viens me rendre compte que mon ****** d'IDE me lache... oui oui il me trouve des erreurs à:
                    char fu[] = "bonjour";
                    printf("%s"‚fu);

                    Donc le code d'Amadeus ne doit pas bugger autant que ca :lol: désolé :)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 mars 2006 à 19:46:50

                      Ce n'est pas mon code qui bugue on en avait déjà parlé sur le sdz quand on fait un copier-coller d'un code les "," et les "-" son t remplacés par d'autre caractères qui n'ont rien à voir mais qui ont la même apparence ^^

                      Si tu veux quand même faire un copier-coller dans ton IDE vas dans Search/Replace (ou quelque chose de similaire), dans le 1er champ tu fais un copier-coller d'une "mauvaise" virgule et dans le 2ème tapes une virgule à partir de ton clavier ;)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Un petit problème...

                      × 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