Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur: syntax error before ‘else’

erreur: syntax error before ‘else’

    17 décembre 2005 à 20:23:12

    Salut !

    Voila je suis sous linux et j'ai fait ce code :


    #ifdef HAVE_CONFIG_H
    #include <config.h>
    #endif

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

    int main(int argc, char *argv[])
    {
         /*
         Les variables !
         */

         int choix = 0;
         int nombre = 0;
         int chier = 0;
         /*
         Fin des variables
         */

      printf("Hello, world!\n");
      printf("Je suis Mr. le maitre du monde\n\n");

      printf("0. Truc n°1\n");
      printf("1. Truc n°2\n\n");

      scanf("%ld", &choix);

      if(choix == 0)
      {

         printf("écrit un nombre!\n\n");

         scanf("%ld", &nombre);

         printf("\nTu a écrit %ld\n\n", nombre);

         return EXIT_SUCCESS;

      }
      elseif(choix == 1)
      {

         printf("Bon, la je fait te faire chier ok ?\n\n");
         printf("0. Nan, me fait pas chier stp\n");
         printf("1. Yeah, fait moi chier !\n\n");

         scanf("%ld", &chier);

         if(chier == 1)
         {

            while(1)
            {

               printf("je t'enmerde petit con ;-)\n");

            }

         }
         else
         {

            printf("\nHa ... Bon alors jte fait pas chier ...\n\n");
            return EXIT_SUCCESS;

         }

      }

    }


    Et sa me dit :

    Citation : konsole


    /home/theo7/Perso/Mes-progs/theo7/src/theo7.c:90: erreur: syntax error before ‘}’ token
    gmake[2]: *** [theo7.o] Erreur 1
    gmake[2]: La cible « all » n'a pas pu être refabriquée à cause d'erreurs.
    gmake[1]: *** [all-recursive] Erreur 1
    gmake[2]: Rien à faire pour « all-am ».
    gmake: *** [all] Erreur 2
    *** Sortie avec l'état : 2 ***




    Ou est l'erreur ?


    Merci ^^ !
    • Partager sur Facebook
    • Partager sur Twitter
      17 décembre 2005 à 20:48:44

      Bon voila je connais rien a Linux mais en C tu ne peux pas mettre d accent... Alors voila ton code retape:
      #ifdef HAVE_CONFIG_H
      #include <config.h>
      #endif

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

      int main(int argc, char *argv[])
      {
           /*
           Les variables !
           */

           int choix = 0;
           int nombre = 0;
           int chier = 0;
           /*
           Fin des variables
           */

        printf("Hello, world!\n");
        printf("Je suis Mr. le maitre du monde\n\n");

        printf("0. Truc n 1\n");
        printf("1. Truc n 2\n\n");

        scanf("%ld", &choix);

        if(choix == 0)
        {

           printf("ecrit un nombre!\n\n");

           scanf("%ld", &nombre);

           printf("\nTu a ecrit %ld\n\n", nombre);
      sleep(700);
           return EXIT_SUCCESS;

        }
        else if(choix == 1)
        {

           printf("Bon, la je fait te faire chier ok ?\n\n");
           printf("0. Nan, me fait pas chier stp\n");
           printf("1. Yeah, fait moi chier !\n\n");

           scanf("%ld", &chier);

           if(chier == 1)
           {

              while(1)
              {

                 printf("je t'enmerde petit con ;-)\n");
      sleep(1000);
              }

           }
           else
           {

              printf("\nHa ... Bon alors jte fait pas chier ...\n\n");
      sleep(2000);
              return EXIT_SUCCESS;

           }

        }

      }

      Tu avais ecrit: "elseif" un espace n est jamais de trop.
      Tu avais utiliser des accent et un autre caractere pour le numero.
      Tu n avais pas mis de sleep donc ton texte on n avait pas le temps de le voir.
      Voila...
      @++ les gens
      P.S. tu as aussi cree une boucle infinie. je sais pas si tu as fait expres mais apres avoir fait chier 10 fois ca doit cesser je pense non?? :p
      • Partager sur Facebook
      • Partager sur Twitter
        17 décembre 2005 à 21:05:19

        arf merci j'avait oublié que l'on m'étais des espaces entre les else if en C ( en PHP y en a pas :) )

        Mais :

        Sous linux, contrairement a windows, on peut mettre des accents
        ET
        return EXIT_SUCCESS; affiche " Appuyer sur ENTRER pour continuer "

        Voila ^^
        Et encore Merci :)
        • Partager sur Facebook
        • Partager sur Twitter
          18 décembre 2005 à 13:30:52

          Ta derniere boucle est quand meme une boucle infinie... regarde par toi meme. "Elle te fais chier" jusqu a ce que tu ferme le programme... ;)
          essaye de mettre une limite...
          @++ les gens
          • Partager sur Facebook
          • Partager sur Twitter

          erreur: syntax error before ‘else’

          × 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