Typedef
Résolu
sifane.a
Messages postés
16
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
bjr, est ce que vous pouvez me dire comment on uitilise un "typedef" dans une structure.
je note que notre prof ns a dit qu'on utilise ce mot cle pour changer un nom s'il trop long par un autre plus petit.
ex:
struct date naissance;
{
int.....
};
typedef date naissance DATE;
merci de répondre tré vite.
bjr, est ce que vous pouvez me dire comment on uitilise un "typedef" dans une structure.
je note que notre prof ns a dit qu'on utilise ce mot cle pour changer un nom s'il trop long par un autre plus petit.
ex:
struct date naissance;
{
int.....
};
typedef date naissance DATE;
merci de répondre tré vite.
Configuration: Windows Vista Internet Explorer 8.0
4 réponses
-
Bah, je viens de te donner la solution dans le post ...
typedef struct dateNaissance dateNaissance; struct dateNaissance; { int..... }; De plus, attention au nom de ta structure, tu n'as pas le droit de mettre des espaces, c'est pour ça que je te l'ai corrigé en dateNaissance.-
merci cété vraiment la probléme.
donc si je veu changer le dateNaissance en DATE ,j'aurai qu'a faire ce ke tu m'a dit en changeant simplement comme ca:
typedef struct dateNaissance DATE;
struct DATE;
{
int...
};
mais ce ";" aprés le DATE me parais absurde...
tt fois mm si je l'utilise ac ou sans ";" il me donne préske "30" erreur dans mon code.
si tu veut je peu t'envoyer mon code pour l'examiner.
merci- bn dsl,mais tu vas travailler un peu ac moi :
voila un programme qui affiche les infos d'un etudiant entrés au clavier:
#include<stdio.h>
#define etd 2;
typedef struct etudiant E;
struct etudiant
{
char nom[10];
char prenom[10];
char adresse[20];
typedef struct dateNaissance DATE;
struct dateNaissance
{
int jour;
int mois;
int annee;
};
};
main()
{
int etudiant[etd];
int i;
for(i=0;i<etd;i++)
{
printf("nom");
scanf("%s",&etudiant[i].nom);
printf("prenom");
scanf("%s",&etudiant[i].prenom);
printf("jour naissance");
scanf("%s",&etudiant[i].DATE.jour);
printf("mois");
scanf("%s",&etudiant[i].DATE.mois);
printf("annee");
scanf("%s",&etudiant[i].DATE.annee);
printf("adresse");
scanf("%s",&etudiant[i].adresse);
}
for(i=0;i<etd;i++)
{
printf("%s",etudiant[i].nom);
printf("%s",etudiant[i].prenom);
printf("%s",etudiant[i].DATE.jour);
printf("%s",etudiant[i].DATE.mois);
printf("%s",etudiant[i].DATE.annee);
printf("%s",etudiant[i].adresse);
}
}
j'arrive a des erreur que je ne sais pas corriger, je tape simplement ce que j'ai apris et je me plante.
un coup de main svp.
merci.
-
-
Salut
typedef struct dateNaissance dateNaissance; struct dateNaissance; { int..... };
Tu peux même inclure le typedef dans truct directement :typedef struct dateNaissance { int ... } dateNaissance;
-
Salut
J'ai corrigé quelques fautes (notamment le ; après le define)
Là il restera à voir les problèmes de buffer clavier.
Cdlt#include<stdio.h> #define etd 2 typedef struct dateNaissance DATE; struct dateNaissance { int jour; int mois; int annee; }; typedef struct etudiant E; struct etudiant { char nom[10]; char prenom[10]; char adresse[20]; DATE date; }; int main(void) { E etudiant[etd]; int i; for(i=0;i<etd;i++) { printf("nom"); scanf("%s",etudiant[i].nom); printf("prenom"); scanf("%s",etudiant[i].prenom); printf("jour naissance"); scanf("%d",&etudiant[i].date.jour); printf("mois"); scanf("%d",&etudiant[i].date.mois); printf("annee"); scanf("%d",&etudiant[i].date.annee); printf("adresse"); scanf("%s",etudiant[i].adresse); } for(i=0;i<etd;i++) { printf("%s",etudiant[i].nom); printf("%s",etudiant[i].prenom); printf("%d",etudiant[i].date.jour); printf("%d",etudiant[i].date.mois); printf("%d",etudiant[i].date.annee); printf("%s",etudiant[i].adresse); } return 0; } -
je suis trs reconnaissant ,le programme tourne bien ,c'est la partis la plus simple,le but de ce programme n'été po seulement a afficher mais a un autre but, je vais continuer et si je me trouve encor dans un probléme je vs poste le sujet.
encor merci ,chui trop content :)