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
Salut
Tu peux même inclure le typedef dans truct directement :
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
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;
}
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
En :
typedef struct dateNaissance DATE; struct dateNaissance { int... }; DATE toto; //pour déclarer une structure dateNaissance (plus besoin d'utiliser le mot clé struct.Et effectivement pour le point virgule après struct. Une faute d'inattention. :)
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.