Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/06/2019, à 18:55

chris7522

Structure principale (C)

Bonjour a toutes et a tous ,
Dans ce code , j'ai l'impression que " struct human" est la structure principale , et que "struct id et struct date " sont des sous structures dans la mesure ou id et date sont déclaré dans celle ci . Ai je tort ou raison ? Si c'est le cas , les sous structures doivent toujours etre declarées dans la structure principale ?

#include <stdio.h>
 #include <string.h>
 
 int main()
 {
    struct id
    {
      char hprenom[20]
      char hnomfam[20]
    };
    struct date
    {
      int sjour;
      int smois;
      int sannee;
    };
    struct humain
    {
      struct id hnom;
      struct date hdatenaiss;
    };
    struct humain president;
 
    strcpy(president.hnom.hprenom, "georges");
    strcpy(president.hnom.hnomfam, "whashington");
    president.hdatenaiss.sjour=22;
    president.hdatenaiss.smois=2;
    president.hdatenaiss.sannee=1732;
 
    printf("Naissance de %s le %d %d %d\n",
           president.hnom.hprenom,
           president.hnom.hnomfam,
           president.hdatenaiss.sjour,
           president.hdatenaiss.smois,
           president.hdatenaiss.sannee);
    return 0;
  }

Hors ligne

#2 Le 21/06/2019, à 19:56

lann

Re : Structure principale (C)

Pour moi, structure date et structure id sont des structures indépendantes.
Elles sont juste appelées dans la structure humain

Hors ligne

#3 Le 22/06/2019, à 14:10

chris7522

Re : Structure principale (C)

Merci pour ton aide .
J'ai essayé ce code mais il ne fonctionne pas , pourquoi ? J'ai quand meme une petite idée , je me disais qu'il n'etait pas possible d' utiliser 2 structures avec des tableaux char dans chacune d'elle . Pourtant le nom des menbres est différent .... mais peut etre que l'erreur est ailleurs .

 

#include <stdio.h>
  #include <string.h>

  int main()
  {
    struct nom
    {
       char prenom[20]
       char nomFamille[20]
    };
    struct date
    {
       int jour;
       int mois;
       int an;
    };
    struct lieu
    {
       char art[20]
       char nouvelle[20]
    };
    struct human
    {
      struct nom hnom;
      struct date hdate;
      struct lieu hlieu;
    };
    struct human perl;
 
    strcpy(perl.hnom.prenom, "perlanti");
    strcpy(perl.hnom.nomFamille, "hatayan");
    

    printf("%s %s", perl.hnom.prenom,
                    perl.hnom.nomFamille);
  
  return 0; 
  }

Hors ligne

#4 Le 22/06/2019, à 16:12

pingouinux

Re : Structure principale (C)

Bonjour,

Pourtant le nom des menbres est différent .... mais peut etre que l'erreur est ailleurs .

Eh oui ! Il manque les ; à la fin des lignes commençant par char.

Hors ligne