Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème structures programme qui rencontre une erreur

Sujet résolu
    23 avril 2006 à 17:56:13

    Bonjour,
    j'en suis au chapitre sur les structures, au moment où Mateo21 demande d'essayer de faire sois meme une boucle pour bien comprendre. Quand j'appuie sur entree après avoir renseigné l'age, il y a une fenêtre qui apparait pour me dire que le programme a rencontré une erreur. Je vous met le code :
    main.c
    #include <stdio.h>
    #include <stdlib.h>
    #include "fonctions.h"

    int main(int argc, char *argv[])
    {
        Joueur foot[3];
        long i = 0;

        for (i = 0 ; i < 3 ; i++)
        {
            printf("Bonjour, joueur %ld\nQuel est ton prenom ? ", i);
            scanf("%s", foot[i].prenom);
            printf("Quel est ton nom ? ");
            scanf("%s", foot[i].nom);
            printf("Quel est ton age ? ");
            scanf("%ld", foot[i].age);
            printf("Recapitulons : tu es le joueur n° %ld, tu t'appelles %s %s et tu as %ld.\n", i, foot[i].prenom, foot[i].nom, foot[i].age);
        }

        return 0;
    }


    fonctions.c Info : je sais qu'il ne sert à rien ici mais je le laisse car ce projet me sert pour mes tests.

    #ifndef DEF_NOMDUFICHIER
    #define DEF_NOMDUFICHIER

    #include "fonctions.h"

    #endif



    fonctions.h
    #ifndef FONCTIONS.H
    #define FONCTIONS.H

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


    typedef struct Joueur Joueur;
    struct Joueur
        {
        char prenom[100];
        char nom[100];
        long age;
        };

    #endif;

    Merci !
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      23 avril 2006 à 17:59:28

      scanf("%ld", foot[i].age);
      ==>
      scanf("%ld", &foot[i].age);

      Sinon, les includes, tu devrais éviter d'inclure stdio.h et stdlib.h dans fonctions.h car ils sont déja inclus directement dans le main.c et c'est une mauvaise habitude d'inclure un header dans un autre ;)
      • Partager sur Facebook
      • Partager sur Twitter
        23 avril 2006 à 18:02:24

        Merci louisclem. Par contre, si j'ai besoin d'une fonction du fichier string.h faut-il que je l'incluse dans le fichier fonction.h ou ce n'est pas nécessaire ?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          23 avril 2006 à 18:04:56

          Inclus la plutôt dans le fichier .c où elle sera appellée, c'est à dire ici main.c ;)
          • Partager sur Facebook
          • Partager sur Twitter
            23 avril 2006 à 18:07:39

            Merci ! Une dernière question : en revanche il faut que je l'incluse dans le fichier fonctions.c ou il faut inclure toutes les librairies dans le main.c ?
            • Partager sur Facebook
            • Partager sur Twitter
              23 avril 2006 à 18:18:55

              Citation : ttoine

              Merci ! Une dernière question : en revanche il faut que je l'incluse dans le fichier fonctions.c ou il faut inclure toutes les librairies dans le main.c ?


              Uniquement où c'est nécessaire.
              • Partager sur Facebook
              • Partager sur Twitter
              Music only !

              Problème structures programme qui rencontre une erreur

              × 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