IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Je ne comprends pas les messages d'erreur


Sujet :

C

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 11
    Par défaut Je ne comprends pas les messages d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #include <cstdlib>
    #include <iostream>
    #include <math.h>
    using namespace std;
     
    int main(int argc, char *argv[])
    {
    long menu()
    {
    long choix = 0;
    while (choix < 1 || choix > 4)
    {
    printf("Menu :\n");
    printf("1 : Poulet de dinde aux escargots rotis a la sauce bearnaise\n");
    printf("2 : Concombres sucres a la sauce de myrtilles enrobee de chocolat\n");
    printf("3 : Escalope de kangourou saignante et sa gelee aux fraises poivree\n");
    printf("4 : La surprise du Chef (j'en salive d'avance...)\n");
    printf("Votre choix ? ");
    scanf("%ld", &choix);
    }
    return choix;
    }
    int main(int argc, char *argv[])
    {
    switch (menu())
    {
    case 1:
    printf("Vous avez pris le poulet\n");
    break;
    case 2:
    printf("Vous avez pris les concombres\n");
    break;
    case 3:
    printf("Vous avez pris l'escalope\n");
    break;
    case 4:
    printf("Vous avez pris la surprise du Chef. Vous etes un sacre aventurier
    dites donc !\n");
    break;
    }
    system("PAUSE");
    return 0;
    }

    Quand je compile il m'affiche sa


    C:\Dev-Cpp\main.cpp In function `int main(int, char**)':
    10 C:\Dev-Cpp\main.cpp `choix' undeclared (first use this function)
    (Each undeclared identifier is reported only once for each function it appears in.)
    At global scope:
    28 C:\Dev-Cpp\main.cpp expected unqualified-id before "switch"
    28 C:\Dev-Cpp\main.cpp expected `,' or `;' before "switch"
    48 C:\Dev-Cpp\main.cpp expected constructor, destructor, or type conversion before '(' token
    48 C:\Dev-Cpp\main.cpp expected `,' or `;' before '(' token
    49 C:\Dev-Cpp\main.cpp expected unqualified-id before "return"
    49 C:\Dev-Cpp\main.cpp expected `,' or `;' before "return"
    50 C:\Dev-Cpp\main.cpp expected declaration before '}' token
    C:\Dev-Cpp\Makefile.win [Build Error] [main.o] Error 1
    Aidé moi svp car sa fait un bye que je suis deçu et que je ne trouve pas !

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 150
    Billets dans le blog
    150
    Par défaut
    Bonjour,

    Le forum DVP contient des extraits de haute technologie digne du Web 3.0. L'une d'entre elle est la balise [ CODE ] [ /CODE ] (sans les espaces). Celle-ci est accessible par un clic sur le bouton '#' lors de l'édition du message.
    Cela permet d'activer une présentation claire et coloré de votre code.

    J'ai un conseil pour votre projet, désinstallez dev-cpp et installé son successeur spirituel et bien supérieur qu'est Code::Block (vous ne serait pas perdu)

    Maintenant, le code \o/

    J'ai regardé un peu le code, et je vois deux fois... ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int main(int argc, char *argv[])
    {
    Donc déjà, il est une fois de trop. Après, on voit que la fonction menu() est déclaré dans la fonction main(). Ce n'est pas possible. Donc sortez là du corps de main().

    Votre code est du C ... si je ne me trompe pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    using namespace std;
    Ceci ce n'est qu'en C++ ... donc vous pouvez l'enlever (dans tout les cas vous pouvez l'enlever de toute façon :p)
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    #include <cstdlib>
    #include <iostream>
    #include <math.h>
     
     
    int main(int argc, char *argv[])
    {
    {
    long choix = 0;
    while (choix < 1 || choix > 4)
    {
    printf("Menu :\n");
    printf("1 : Poulet de dinde aux escargots rotis a la sauce bearnaise\n");
    printf("2 : Concombres sucres a la sauce de myrtilles enrobee de chocolat\n");
    printf("3 : Escalope de kangourou saignante et sa gelee aux fraises poivree\n");
    printf("4 : La surprise du Chef (j'en salive d'avance...)\n");
    printf("Votre choix ? ");
    scanf("%ld", &choix);
    }
    return choix;
    }
    {
    switch (menu)
    {
    case 1:
    printf("Vous avez pris le poulet\n");
    break;
    case 2:
    printf("Vous avez pris les concombres\n");
    break;
    case 3:
    printf("Vous avez pris l'escalope\n");
    break;
    case 4:
    printf("Vous avez pris la surprise du Chef. Vous etes un sacre aventurier
    dites donc !\n");
    break;
    }
    system("PAUSE");
    return 0;
    }
    J'ai fait ce que vous m'avait indiquer et j'obtient encore des erreurs lors du compilateur cette fois si avec code::blocks

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 150
    Billets dans le blog
    150
    Par défaut
    Vous êtes réfractaire à la haute technologie du Web ... et en plus, vous n'avez absolument pas lu mon message (enfin ... si ... la ligne sur Code::blocks ...)

    Je vous conseille de relire ... et vous verrai bien que j'ai parlé d'un problème / partie très bizarre dans votre code.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 44
    Par défaut
    LittleWhite lol.
    Il a pas lu pour les balises CODE, par contre il s'est pas foulé il a juste supprimé une des deux lignes "int main...."

    warezeux, je te conseille de faire un tour sur les cours de C (ou de C++ ca dépends de ce que tu veux apprendre) disponible sur ce site même, parce que le principale problème avec ton code, c'est la connaissance de base du langage ...

    Y'a pas quelque chose qui te choque :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    int main(int argc, char *argv[])
    {
    {
    Et puis la aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    }
    return choix;
    }
    {
    switch (menu)
    {
    case 1:
    Parmi tant d'autres ... Sincèrement reprend tout à zéro avec un bon tutoriel, sinon tu t'en sortiras pas.

    Une fonction à la structure suivante
    TYPE_DE_RETOUR nom_delafonction(arguments/ou varargs, avec type déclaré).
    Ex:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int apprendre_c(int nbessai)
    {
     //code
     return(1);
    }
    et l'appel à cet fonction se fait comme (ex bete):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    int nbessai = 0; 
    apprendre_c(nbessai);
    on conseille souvent de "prototyper" ses fontions (au début ou dans un .h)
    int apprendre_c(int);

    La fonction main est le point d'entrée du programme en question.
    elle prends argc et argv en argument (ou ac et av)
    int main(int ac, char **av)
    où : ac est une variable de type int (nombre entier) qui contient le nb d'arguments passés à l'appel de ton programme, et av un tableau à 2 dimensions (une chaine de caractere (char *) etant en quelque sorte un tableau de char/un pointeur sur char, voir les cours sur les pointeurs ...)
    si ton programme s'appelle par ex choixmenu.exe et que tu l'execute avec des arguments (choixmenu.exe /tri:moins_cher /qu:bon) ac vaudra 3, av[0] choixmenu.exe av[1] /tri:moins_cher av[2] /qu:bon ...

    dans la fonction main, commence l'execution de programme de manière linéaire. Donc toutes fonctions à executer viendra dedans, si main() s'arrete, le programme quitte et s'arrete. La valeur de retour de la fonction main retourne un code de sortie lors de la fin de l'execution du programme.

    Quoi te dire d'autres pour vraiment te donner envie d'aller faire un tour sur un bon tutorial (y'a des cours de C très bien fait sur ce site) ... Te guider un peu dans ton code? c'est parti, mais faudrait vraiment assimilé les bases avant d'essayer d'aller plus loin, et analyser tes erreurs/incompréhensions, rien ne sert d'avancer si on ne maitrise pas au moins un peu les acquis que l'on a.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    /* les includes ... il est d'usage/inutile d'include des .h dont on a pas besoin
    j'ajoute. En plus, tu as fait des includes C++, ton programme étant en C (#include <cstdlib>) est destiné au C++ par exemple*/
     
    /* stdio.h, pour printf & scanf, meme si cette dernière, je ne l'utilise jamais */
    #include <stdio.h> 
     
    //prototypage de la fonction affich_menu
    void affich_menu(void);
     
    // on commence par le main comme on avait dit, le point d'entrée du programme
     
    int main(int ac, char **av)
    {
      int  choix = 0; // pourquoi un long?
     
      while(choix < 1 || choix > 4) // j'aurai fait autrement...
      {
       affich_menu(); // pour te donner un exemple de fonction ...
       scanf("%ld", &choix);
      }
      switch (choix) 
     {
      case 1:
       printf("Vous avez pris le poulet\n");
       break;
      case 2: 
       printf("Vous avez pris les concombres\n");
       break;
      case 3:
       printf("Vous avez pris l'escalope\n");
       break;
      case 4:
       printf("Vous avez pris la surprise du Chef. Vous etes un sacre aventurier dites donc !\n");
       break;
     }
      return(0); 
    }
     
    void affich_menu()
    {
     printf("Menu :\n");
     printf("1 : Poulet de dinde aux escargots rotis a la sauce bearnaise\n");
     printf("2 : Concombres sucres a la sauce de myrtilles enrobee de  chocolat\n");
     printf("3 : Escalope de kangourou saignante et sa gelee aux fraises poivree\n");
     printf("4 : La surprise du Chef (j'en salive d'avance...)\n");
     printf("Votre choix ? ");
    }
    Voilà voilà... C'est perfectible, j'ai essayé de pas t'introduire de nouveaux concepts à assimiler que ceux qui était déjà présent dans ton code, mais vraiment si c'est pour ne pas aller te documenter (sur ce site, un livre de C quelque chose) ...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 11
    Par défaut
    Bonjour.

    Déjà merci pour les critiques sa permet d'avancer dans le bon sens. A titre indicatif j'ai 16 ans et je me suis renseigné avec les cours et tutoriels pour apprendre la programmation C : http://c.developpez.com/cours/

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    #include <iostream>
    #include <math.h>
     
     
    int main(int ac, char **av)
    {
      int  choix = 0; // pourquoi un long?
     
      while(choix < 1 || choix > 4) // j'aurai fait autrement...
      {
      void affich_menu(void); ; // pour te donner un exemple de fonction ...
       scanf("%ld", &choix);
      }
      switch (choix) 
     {
      case 1:
       printf("Vous avez pris le poulet\n");
       break;
      case 2: 
       printf("Vous avez pris les concombres\n");
       break;
      case 3:
       printf("Vous avez pris l'escalope\n");
       break;
      case 4:
       printf("Vous avez pris la surprise du Chef. Vous etes un sacre aventurier dites donc !\n");
       break;
     }
     
      return(1); 
    }
    void affich_menu()
    {
     printf("Menu :\n");
     printf("1 : Poulet de dinde aux escargots rotis a la sauce bearnaise\n");
     printf("2 : Concombres sucres a la sauce de myrtilles enrobee de  chocolat\n");
     printf("3 : Escalope de kangourou saignante et sa gelee aux fraises poivree\n");
     printf("4 : La surprise du Chef (j'en salive d'avance...)\n");
     printf("Votre choix ? ");
    }
    system("PAUSE");
    return 0;
    }
    Dite moi c'est ma correction et positif ?

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 44
    Par défaut
    1. pour rejoindre LittleWhite dans ses propos, quand tu met du code dans un post , met le entre les balise , ca facilite la lecture.

    2. Pourquoi tu inclus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    #include <iostream>
    #include <math.h>
    iostream est un include pour C++, le programme dont il est question est en C.
    math.h est un include pour les fonctions cos, sin etc... Tu en fais pas usage dans ton programme.
    Si tu relis mon post, tu n'as pas besoin de plus de #include <stdio.h>, puisque tu utilise que printf et scanf ...

    3. /* */ ou // c'est pour les commentaires tu peux les enlever

    4. Oula. Attends une sec.
    void affich_menu(void);
    En plein milieu du main? relis mon post stp, et puisque t'a la chance de n'avoir que 16 ans, t'a tout le temps devant toi, tu perdras pas une miette si tu reprends un cours à zéro...
    void affich_menu(void); est le prototypage de affich_menu(), ca se fait en dehors de toute fonction. A cet ligne du code, tu dois simplement appeller la fonction et ca se fait comme ca : affich_menu();
    system("PAUSE"); est mal placé aussi ...

    Mon code il compile, pourquoi tu l'as modifié ? relis le et surtout reprends un cours de C, essaye celui de ce site...
    Si j'ai raté autre chose j'ai regardé vite fait, mon code compile (pas essayer mais c sur) et tes corrections je les comprends pas...
    Peut etre si tu m'expliquais pourquoi tu as corrigé, je pourrai peut être t'aider à oter de ta tête ce reflexe de déclarer une fonction en plein milieu d'une fonction par exemple. Et n'essaye pas d'aller vite au résultat, ce qui compte c'est comprendre, tu sais les fonctions/les concepts à assimiler sont en nombre finis, par contre la facon de faire et les applications que tu pourras coder sont infinis ...

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    int main(int ac, char **av)
    {
      int  choix = 0; // pourquoi un long?
     
      while(choix < 1 || choix > 4) // j'aurai fait autrement...
      {
     
       scanf("%ld", &choix);
      }
      switch (choix) 
     {
      case 1:
       printf("Vous avez pris le poulet\n");
       break;
      case 2: 
       printf("Vous avez pris les concombres\n");
       break;
      case 3:
       printf("Vous avez pris l'escalope\n");
       break;
      case 4:
       printf("Vous avez pris la surprise du Chef. Vous etes un sacre aventurier dites donc !\n");
       break;
     }
     
      //code
     return(1);
    }
     
    void affich_menu()
    {
     printf("Menu :\n");
     printf("1 : Poulet de dinde aux escargots rotis a la sauce bearnaise\n");
     printf("2 : Concombres sucres a la sauce de myrtilles enrobee de  chocolat\n");
     printf("3 : Escalope de kangourou saignante et sa gelee aux fraises poivree\n");
     printf("4 : La surprise du Chef (j'en salive d'avance...)\n");
     printf("Votre choix ? ");
    }
     
         system("PAUSE");
         return 0;
    }
    Dite moi ce qui et négatif et dite moi ce que je doit mettre a la place car je nage un peu avec tout c'est explication.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 44
    Par défaut
    Si ca peut te rassurer, ca ne peut être que casse-tête la programmation, le langage n'étant qu'un outil pour arriver à une fin, la maitrise des concepts généraux et de l'usage de l'outil ouvrant la voie à cette fin là, mais on peut toujours faire mieux/plus ...

    bon la on passe quand même à un problème + "algorithmique" je dirai, jpensais avoir conserver le schéma de comment tu voyais ton programme, je me trompe peut etre
    Ton programme va s'éxecuter de manière linéaire (ligne après ligne)
    Si on prends ton dernier code posté :
    1. on entre dans le main
    2. on déclare une variable int nommé choix initialisé à 0
    3. while : TANT QUE choix < 1 ou > 4
    à la première execution, choix est à 0, la condition (<1 ou > 4) est vérifié, on entre donc dans la boucle
    4. et la on a directement scanf pour récupérer la saisie utilisateur dans choix.
    5. on repasse dans la boucle (while) et on vérifie la condition, si elle ne l'est pas on continue l'execution à partir de switch()

    Seulement voilà, on a pas afficher le menu !
    tu devrais avoir en 4. Afficher le menu
    puis en 5. scanf
    puisque choix vaut 0 à la première execution

    Tu as simplement supprimer la ligne : affich_menu();
    Attends, c'est peut etre la ou tu coince ... dans l'idée d'appeller une fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while(choix < 1 || choix > 4) {
     affich_menu(); 
     scanf("%d", &choix);
    }
    affich_menu(); (tel quel comme ca), va appeller et executer la fonction affich_menu(); que tu as déclaré plus bas en void affich_menu();
    comme printf est une fonction de la librairie, et que tu appelle en faisant printf(...); et qui est déclarer comme int printf ( const char * format, ... ); , affich_menu() est ta fonction à toi qui affiche le menu.
    Ton code est correcte niveau syntaxe, mais sans le affich_menu() il ne t'affichera jamais le menu... Faut vraiment se dire (pour l'instant) que le programme va s'executer exactement dans l'ordre de tes lignes, l'une après l'autre.

    1ussi, avant d'utiliser une fonction (et c'est SURTOUT valable à mes yeux pour scanf) faut connaitre son utilisation, ses limites, les aspects auxquels tu dois faire attention ... j'ai mis scanf("%d", &choix); tu remet scanf("%ld", &choix);
    %ld pour récupérer un long, on a utilisé un int d'ou simplement le %d ...
    Si tu veux savoir quelque chose sur une fonction, tape simplement dans ton moteur de recherche : man la_fonction ... tu trouveras en ligne un extrait des pages de man(uels) de fonction dispo sous linux, mais pour les fonctions que utilise pour l'instant elle y sont toutes (pour les fonctions de l'api win32, tu as le msdn).

    En espérant t'avoir un peu plus éclairci...

  11. #11
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 150
    Billets dans le blog
    150
    Par défaut
    Citation Envoyé par warezeux Voir le message
    Dite moi ce qui et négatif et dite moi ce que je doit mettre a la place car je nage un peu avec tout c'est explication.
    Ce qui est negatif:
    - Vous n'utilisez toujours pas les balises [ code ] [ /code ] !
    - Vous ne dites pas si vous avez des erreurs de compilation ou pas.
    - Vous n'appelez pas affich_menu() ... j'imagine que ce n'est pas normal.
    - scanf est dangereux, mais nous avons une entree FAQ qui en parle
    - Pour dire qu'il n'y a pas d'erreur, la fonction main doit retourner 0
    - Le 'return' est un mot cle, et non une fonction ... alors vous pouvez ecrire
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    int main(int ac, char **av)
    {
        void affich_menu()
    {
     printf("Menu :\n");
     printf("1 : Poulet de dinde aux escargots rotis a la sauce bearnaise\n");
     printf("2 : Concombres sucres a la sauce de myrtilles enrobee de  chocolat\n");
     printf("3 : Escalope de kangourou saignante et sa gelee aux fraises poivree\n");
     printf("4 : La surprise du Chef (j'en salive d'avance...)\n");
     printf("Votre choix ? ");
    }
      int  choix = 0; // pourquoi un long?
      while(choix < 1 || choix > 4) {
      affich_menu(); 
      scanf("%d", &choix);
    }
      }
      switch (choix) 
     {
      case 1:
       printf("Vous avez pris le poulet\n");
       break;
      case 2: 
       printf("Vous avez pris les concombres\n");
       break;
      case 3:
       printf("Vous avez pris l'escalope\n");
       break;
      case 4:
       printf("Vous avez pris la surprise du Chef. Vous etes un sacre aventurier dites donc !\n");
       break;
     }
     
     
     
         system("PAUSE");
         return 0;
    }
    En le compilant il me trouve encore des erreurs

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 44
    Par défaut
    Citation Envoyé par warezeux Voir le message
    En le compilant il me trouve encore des erreurs
    Même si c'est évident pourquoi ça ne compile pas, tu ne donnes pas les erreurs. Et si tu n'apprends pas à lire ces erreurs pour corriger ton code, tu n'avanceras pas.
    Pas plus que si tu ne prends pas la peine de relire nos réponses.
    Je te renvoie à nos réponses, j'ai fait un effort pour être le plus clair possible, et tu n'as aucunement lis ce que je t'ai écris. Surtout que je t'ai posté le code fonctionnel, et qu'au lieu de l'étudier et de le recouper avec nos commentaires pour comprendre, tu lis en diagonale les réponses qu'on te donne et tu n'en tiens pas compte.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 11
    Par défaut
    Je ne comprend pas ce que vous dites pourtant je fait des efforts. Prenez mon programme et corrigé les erreurs et redonnait moi un programme sans erreur svp.


    Les erreurs :

    Compilateur: Default compiler
    Exécution de g++.exe...
    g++.exe "C:\Dev-Cpp\projet.cpp" -o "C:\Dev-Cpp\projet.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
    C:\Dev-Cpp\projet.cpp: In function `int main(int, char**)':
    C:\Dev-Cpp\projet.cpp:3: error: expected primary-expression before "void"
    C:\Dev-Cpp\projet.cpp:3: error: expected `;' before "void"

    C:\Dev-Cpp\projet.cpp:14: error: `affich_menu' undeclared (first use this function)
    C:\Dev-Cpp\projet.cpp:14: error: (Each undeclared identifier is reported only once for each function it appears in.)
    C:\Dev-Cpp\projet.cpp:15: error: `scanf' undeclared (first use this function)
    C:\Dev-Cpp\projet.cpp: At global scope:
    C:\Dev-Cpp\projet.cpp:18: error: expected unqualified-id before "switch"
    C:\Dev-Cpp\projet.cpp:18: error: expected `,' or `;' before "switch"
    C:\Dev-Cpp\projet.cpp:36: error: expected constructor, destructor, or type conversion before '(' token
    C:\Dev-Cpp\projet.cpp:36: error: expected `,' or `;' before '(' token
    C:\Dev-Cpp\projet.cpp:37: error: expected unqualified-id before "return"
    C:\Dev-Cpp\projet.cpp:37: error: expected `,' or `;' before "return"
    C:\Dev-Cpp\projet.cpp:38: error: expected declaration before '}' token
    Exécution terminée

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 44
    Par défaut
    Je t'ai déjà posté le code fonctionnel je retire les commentaires ca a l'air de te gener dans ta lecture (bizarre), reporte toi à mon premier post si tu veux plus d'infos :
    Citation Envoyé par hh-cx Voir le message
    #include <stdio.h>

    void affich_menu(void);

    int main(int ac, char **av)
    {
    int choix = 0;

    while(choix < 1 || choix > 4) {
    affich_menu();
    scanf("%d", &choix);
    }
    switch (choix)
    {
    case 1:
    printf("Vous avez pris le poulet\n");
    break;
    case 2:
    printf("Vous avez pris les concombres\n");
    break;
    case 3:
    printf("Vous avez pris l'escalope\n");
    break;
    case 4:
    printf("Vous avez pris la surprise du Chef. Vous etes un sacre aventurier dites donc !\n");
    break;
    }
    return(0);
    }

    void affich_menu()
    {
    printf("Menu :\n");
    printf("1 : Poulet de dinde aux escargots rotis a la sauce bearnaise\n");
    printf("2 : Concombres sucres a la sauce de myrtilles enrobee de chocolat\n");
    printf("3 : Escalope de kangourou saignante et sa gelee aux fraises poivree\n");
    printf("4 : La surprise du Chef (j'en salive d'avance...)\n");
    printf("Votre choix ? ");
    }
    [/code]
    Après, une fois que tu as compris le principe, remplace scanf(), tu remarqueras si tu n'entre pas un nombre (des lettres à la place) que la boucle sera infini ... d'où le fait que je te répéte depuis le début de mes réponses qu'il faut éviter cette fonction.

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 11
    Par défaut
    Compilateur: Default compiler
    Exécution de g++.exe...
    g++.exe "C:\Dev-Cpp\projet.cpp" -o "C:\Dev-Cpp\projet.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
    C:\Dev-Cpp\projet.cpp:40: error: expected unqualified-id before '[' token
    C:\Dev-Cpp\projet.cpp:40: error: expected `,' or `;' before '[' token
    C:\Dev-Cpp\projet.cpp:45: error: expected unqualified-id before "return"
    C:\Dev-Cpp\projet.cpp:45: error: expected `,' or `;' before "return"
    C:\Dev-Cpp\projet.cpp:46: error: expected declaration before '}' token

    Exécution terminée
    Quand je compile sa fait sa !

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 44
    Par défaut
    1. Je pensais que t'étais passé à code:block non?
    2. projet.cpp, cpp est une extension pour les fichiers c++, .c simplement pour les fichiers en c (même si ca compilera quand meme, les extensions spécifiques c'est pas fait pour rien).
    3. C:\Dev-Cpp\projet.cpp:40: error: expected unqualified-id before '[' token
    C:\Dev-Cpp\projet.cpp:40: error: expected `,' or `;' before '[' token

    Ligne 40 : [/code] ... lol les balises c pour l'usage sur ce forum, j'en ai ajouté une par erreur ou en copiant/collant. Enleve la dernière ligne [/code]...

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 11
    Par défaut
    Allez on va y arrivé !


    Compilateur: Default compiler
    Exécution de gcc.exe...
    gcc.exe "C:\Dev-Cpp\projet.c" -o "C:\Dev-Cpp\projet.exe" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
    C:\Dev-Cpp\projet.c:44: error: syntax error before string constant

    C:\Dev-Cpp\projet.c:44: warning: data definition has no type or storage class

    Exécution terminée

  19. #19
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 44
    Par défaut
    copie moi le code que tu essaye de compiler, que je vois la ligne 44...

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 11
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    #include <stdio.h>
     
    void affich_menu(void);
     
    int main(int ac, char **av)
    {
    int choix = 0;
     
    while(choix < 1 || choix > 4) {
    affich_menu();
    scanf("%d", &choix);
    }
    switch (choix)
    {
    case 1:
    printf("Vous avez pris le poulet\n");
    break;
    case 2:
    printf("Vous avez pris les concombres\n");
    break;
    case 3:
    printf("Vous avez pris l'escalope\n");
    break;
    case 4:
    printf("Vous avez pris la surprise du Chef. Vous etes un sacre aventurier dites donc !\n");
    break;
    }
    return(0);
    }
     
    void affich_menu()
    {
    printf("Menu :\n");
    printf("1 : Poulet de dinde aux escargots rotis a la sauce bearnaise\n");
    printf("2 : Concombres sucres a la sauce de myrtilles enrobee de chocolat\n");
    printf("3 : Escalope de kangourou saignante et sa gelee aux fraises poivree\n");
    printf("4 : La surprise du Chef (j'en salive d'avance...)\n");
    printf("Votre choix ? ");
    }
     
     
     
     
         system("PAUSE");
         return 0;
    }

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [VBA-Excel] Ne comprends pas le message d'erreur
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 03/05/2011, 16h49
  2. [Débutant] je ne comprends pas ce message d'erreur
    Par liogo dans le forum MATLAB
    Réponses: 4
    Dernier message: 06/04/2011, 14h37
  3. Je ne comprends pas le message d'erreur
    Par amine_en_france dans le forum Langage
    Réponses: 8
    Dernier message: 06/06/2007, 16h48
  4. je ne comprends pas mon message d'erreur
    Par LeNeutrino dans le forum Windows Forms
    Réponses: 8
    Dernier message: 19/01/2007, 09h44
  5. je ne comprends pas les message d'erreur g++
    Par emmesse dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 22/09/2006, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo