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 :

Appel à une fonction C


Sujet :

C

  1. #1
    Débutant Avatar de étoile de mer
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    978
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 978
    Points : 117
    Points
    117
    Par défaut Appel à une fonction C
    Bonsoir à tous,
    C la 1ere fois que je programme en C
    J'ai un souci c'est que j'arrive pas à faire un appel à ma fonction dans le main;
    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
     
    int main(int argc, char *argv[]) 
    { char c; 
    int N; 
    liste_mot* s =NULL; 
    Affiche_mots(s); 
    printf("\n\n la liste filtree \n\n"); 
    frequent( &s , 1); 
    Affiche_mots(s); 
    calcul_nbre_mot(b); 
    printf("%d",N," mot((s))"); 
     
    scanf("%c",c); 
    return 0; 
    }
    en fait tout marche nikel jusque l'appel de la fonction calcul_nbre_mot(b); il m'affiche pas le nbre de mots
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void calcul_nbre_mot(liste_mot *s) 
    { 
    liste_mot* m=s; 
    int N=0; 
    while(m!=NULL) 
    { 
    N=N+1; 
    } 
    printf("\n"); 
    }
    normallement le programme m'affiche le nbre de mots qui est N, mais la il m'affiche rien
    merci
    Le jour est le père du labeur et la nuit est la mère des pensées.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void calcul_nbre_mot(liste_mot *s)
    {
        liste_mot* m=s;
        int N=0;
        while(m!=NULL)
        {
            N=N+1;
        }
        printf("\n");  // n'affiche rien et ne renvoie rien
    }
    tu calcule bien le nombre de mots mais tu ne peux t en servir car c est une variable locale a calcul_nbre_mot. pour l utiliser dans main il faut que tu la retournes, ou que tu passes N par pointeur a calcul_nbre_mot.

    bonne journee et bon courage pour tes debuts en C

  3. #3
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Citation Envoyé par cyrine Voir le message
    Bonsoir à tous,
    C la 1ere fois que je programme en C
    J'ai un souci c'est que j'arrive pas à faire un appel à ma fonction dans le main;

    int main(int argc, char *argv[])
    { char c;
    int N;
    liste_mot* s =NULL;
    Affiche_mots(s);
    printf("\n\n la liste filtree \n\n");
    frequent( &s , 1);
    Affiche_mots(s);
    calcul_nbre_mot(b);
    printf("%d",N," mot((s))");

    scanf("%c",c);
    return 0;
    }

    en fait tout marche nikel jusque l'appel de la fonction calcul_nbre_mot(b); il m'affiche pas le nbre de mots

    void calcul_nbre_mot(liste_mot *s)
    {
    liste_mot* m=s;
    int N=0;
    while(m!=NULL)
    {
    N=N+1;
    }
    printf("\n");
    }

    normallement le programme m'affiche le nbre de mots qui est N, mais la il m'affiche rien
    merci
    Apprends à utiliser la balise CODE et à indenter ton code correctement ainsi qu'à bien configurer ton compilateur et enfin poster un code compilable :
    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
    newmain.c:5: erreur: ‘liste_mot’ undeclared (first use in this function)
    newmain.c:5: erreur: (Each undeclared identifier is reported only once
    newmain.c:5: erreur: for each function it appears in.)
    newmain.c:5: erreur: ‘s’ undeclared (first use in this function)
    newmain.c:5: erreur: ‘NULL’ undeclared (first use in this function)
    newmain.c:6: attention : implicit declaration of function ‘Affiche_mots’
    newmain.c:6: attention : nested extern declaration of ‘Affiche_mots’
    newmain.c:7: attention : implicit declaration of function ‘printf’
    newmain.c:7: attention : incompatible implicit declaration of built-in function ‘printf’
    newmain.c:8: attention : implicit declaration of function ‘frequent’
    newmain.c:8: attention : nested extern declaration of ‘frequent’
    newmain.c:10: attention : implicit declaration of function ‘calcul_nbre_mot’
    newmain.c:10: attention : nested extern declaration of ‘calcul_nbre_mot’
    newmain.c:10: erreur: ‘b’ undeclared (first use in this function)
    newmain.c:11: attention : trop d'arguments pour le format
    newmain.c:13: attention : implicit declaration of function ‘scanf’
    newmain.c:13: attention : incompatible implicit declaration of built-in function ‘scanf’
    newmain.c:13: attention : format ‘%c’ expects type ‘char *’, but argument 2 has type ‘int’
    newmain.c: Hors de toute fonction :
    newmain.c:17: erreur: expected ‘)’ before ‘*’ token
    *** Error code 1
    "The quieter you become, the more you are able to hear"
    "Plus vous êtes silencieux, plus vous êtes capable d'entendre"

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par dev_tours Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    void calcul_nbre_mot(liste_mot *s)
    {
        liste_mot* m=s;
        int N=0;
        while(m!=NULL)
        {
            N=N+1;
        }
        printf("\n");  // n'affiche rien et ne renvoie rien
    }
    tu calcule bien le nombre de mots mais tu ne peux t en servir car c est une variable locale a calcul_nbre_mot. pour l utiliser dans main il faut que tu la retournes, ou que tu passes N par pointeur a calcul_nbre_mot.


    il calcule rien, là... m n'est jamais incrémenté... boucle infinie...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    exact il ne calcule rien... j aurai du attendre le cafe avant de repondre...

Discussions similaires

  1. appeler une fonction connaissant son nom (en string)
    Par Guigui_ dans le forum Général Python
    Réponses: 1
    Dernier message: 20/07/2004, 00h46
  2. [DLL] problème pour appeler une fonction d'une DLL
    Par bigboomshakala dans le forum MFC
    Réponses: 34
    Dernier message: 19/07/2004, 11h30
  3. Appeler une fonction avec "action" ds un
    Par drinkmilk dans le forum ASP
    Réponses: 4
    Dernier message: 20/04/2004, 14h54
  4. [JSP] Appeler une fonction
    Par Patrick95 dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 23/12/2003, 13h44
  5. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48

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