je me suis vraimant arrété devant ce code,j'ai essayé plusieurs fois mais en vain.
ka fonction CREATION marche bien .si qq peut m'aider a regler le probleme avec la fonction AFFICHAGE qui donne des valeurs bizzares.
merci d'avance.

voici le code source::
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
 
 
typedef struct date_nais 
{
       int jour;
       int mois;
       int annee;
       };        
 
 typedef struct
{
        char *nom;
        char prenom[15];
        date_nais datenaiss;
        }personne;
 
void creation(personne *t,int n)
{
     int i;
     t=(personne*)malloc(n*sizeof(personne));
     for(i=0;i<n;i++)
     {
                     t[i].nom=(char*)malloc(15*sizeof(char));
                     printf("donner le nom\n");
                     scanf("%s",t[i].nom);
                     printf("donner le prenom\n");
                     scanf("%s",t[i].prenom);
                     printf("donner la date de naissance\n");
                     printf("donner le jour de naissance \n");
                     scanf("%d",&t[i].datenaiss.jour);
                     printf("donner le mois de naissance \n");
                     scanf("%d",&t[i].datenaiss.mois);
                     printf("donner l'annee de naissance \n");
                     scanf("%d",&t[i].datenaiss.annee);
                     }
                     }
 
 
 
void affichage(personne *t,int n)
{
     int i;
     t=(personne *)malloc(n*sizeof(personne));
     for(i=0;i<n;i++)
     {
                     t[i].nom=(char*)malloc(15*sizeof(char));
                     printf("la personne a comme nom %s et prenom %s \n",t[i].nom,t[i].prenom);
                     printf("sa date_naissance suivant jj/mois/annee est %d %d %d \n",t[i].datenaiss.jour,t[i].datenaiss.mois,t[i].datenaiss.annee);
                     }
                     }                 
int main()
{
      personne *p;
      int n;
      int i;
      printf("donner le nbre des personne \n");
      scanf("%d",&n);
      p=(personne *)malloc(n*sizeof(personne));
      creation(p,n);
      affichage(p,n);
      system("pause");
      }