Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Resolu] exercice sur le tableau de type Personne

Probleme sur l'envoi du tableau de type Personne

    28 août 2021 à 12:47:23

    Bonjour, 

    J'ai un petit probleme qui est que quand je lance mon programme il me dit "error: array type has incomplete element type 'Personne' {aka 'struct Personne'}" du coup je comprend pas trop.

    Voici mes codes: 

    Mon fichier .h

    typedef struct Personne Personne;
    void BaseDeDonnes(Personne joueurs[], int tailleTab);
    
    struct Personne
    {
        char nom[100];
        char prenom[100];
        int age;
        int sexe; // 0 pour garcon et 1 pour fille
    };

    Mon fichier .c

    #include <stdio.h>
    #include <stdlib.h>
    #include "tableaux.h"
    
    void BaseDeDonnes(Personne joueurs[], int tailleTab)
    {
        int i = 0;
    
        for (i = 0; i < tailleTab ; i++)
        {
            printf("Bienvenue joueur %d\n",i+1);
            printf("Quel est votre nom ? ");
            scanf("%s", &joueurs[i].nom);
            printf("Quel est votre prenom ? ");
            scanf("%s", &joueurs[i].prenom);
            printf("Quel age avez vous ? ");
            scanf("%d",&joueurs[i].age);
            printf("Homme(0)/Femme(1)");
            scanf("%d",&joueurs[i].sexe);
            printf("Vous avez bien ete enregistre !\n\n");
        }
    
        for (i = 0; i < tailleTab ; i++)
        {
            printf("Joueur %d\n",i+1);
            printf("Vous etes %s %s et vous avez %d ans et vous etes du sexe %d",joueurs[i].prenom, joueurs[i].nom, joueurs[i].age, joueurs[i].sexe);
        }
    }

    et mon main.c:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include "tableaux.h"
    
    int main(int argc, char *argv[])
    {
        Personne joueurs[3];
        BaseDeDonnes(joueurs, 3);
    
        return 0;
    }
    

    Merci d'avance pour votre aide.

    -
    Edité par EVERYGAME41 29 août 2021 à 12:10:39

    • Partager sur Facebook
    • Partager sur Twitter
      28 août 2021 à 14:36:13

      C'est que tu dois faire la déclaration de la fonction BaseDeDonnes après la définition de la structure struct Personne sinon le compilateur ne sait pas à quoi il a affaire.

      Il ne faut pas oublier que le compilateur lit le code de haut en bas.

      • Partager sur Facebook
      • Partager sur Twitter
      ...
        28 août 2021 à 20:23:06

        Salut,

        Tu peux virer le '&' dans tes scanf() lignes 13 et 15.

        • Partager sur Facebook
        • Partager sur Twitter

        Bonhomme !! | Jeu de plateforme : Prototype.

          29 août 2021 à 12:06:28

          Merci beaucoup ca marche maintenant, j'y penserais la prochaine fois

          • Partager sur Facebook
          • Partager sur Twitter

          [Resolu] exercice sur le tableau de type Personne

          × 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