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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
struct liste
{ char name[10];
char prenom[10];
char bdate[10];
char code[5];
char sexe;
int nbe;
char enfcode[30];
struct liste *suiv;
};
/* fonction qui ajoute une personne a la liste chaine */
/*dbut de la fonction */
void ajout(struct liste **org)
{
struct liste *parc;
struct liste *rc;
int i,cc;
char aux[10];
char cd[10];
parc=(struct liste*)malloc(sizeof(struct liste));
if(parc != NULL)
{
parc->suiv=NULL;
puts("donnez le nom de la nouvelle personne");
scanf("%s",parc->name);
puts("donnez le prenom de la nouvelle personne");
scanf("%s",parc->prenom);
puts("donnez la date de naissance de la nouvelle personne");
scanf("%s",parc->bdate) ;
puts("donnez le code de la nouvelle personne");
scanf("%s",parc->code);
puts("donnez le sexe de la nouvelle personne");
parc->sexe=getch();
puts("donnez le nombre d'enfants de la nouvelle personne");
scanf("%d",&cc);
parc->nbe=cc;
for(i=0;i<cc;i++)
{
printf("\ndonner le code de ces enfants");
scanf("%s",aux);
strcat(aux,"\\");
strcat(cd,aux);
}
rc=*org;
while(rc->suiv!=NULL) rc=rc->suiv;
rc->suiv=parc;
}
else
{
printf( "Allocation impossible! Mémoire insuffisante... \n");
}
}
/*fin de la fonction ajout -----------------------------------------*/
/*fonction qui affiche la liste chaine*/
/* debut de la fonction*/
void affichage(struct liste *org)
{ struct liste *parc;
parc=org;
while(parc)
{
printf("\n le nom : %s",parc->name);
parc=parc->suiv;
}
getch();
}
/*fin de la fonction---------------------------------*/
int main()
{ struct liste *kl;
int nb,j;
kl=NULL;
printf("donner nb");
scanf("%d",&nb);
for(j=0;j<nb;j++)
ajout(&kl);
affichage(kl);
getch();
return 0;
} |
Partager