Remplissage et affichage d’un tableau dynamique de n étudiants

Page 1 sur 3Lecteur de document UniversityLib

Remplissage et affichage d’un tableau dynamique de n étudiants

Computer Science - Data Structures · lab

Voir tous les documents en programmation

/ Remplissage et affichage d’un tableau dynamique de n étudiants (3 pages)/

#include<stdio.h>

#include<stdlib.h>

struct date

{

int jour;

int mois;

int annee;

};

typedef struct date DATE;

struct etudiant

{

int ce;

char nom[20];

float notes[5];

DATE date_naiss;

float moy;

};

typedef struct etudiant ETUDIANT;

//

ETUDIANT *allocation(int n)

{

ETUDIANT *tab;

tab=(ETUDIANT ) malloc( n sizeof(ETUDIANT));

if(!tab) exit(-1);

return tab;

}

//

Publicité

void allocation2(ETUDIANT **m, int n)

{

m=(ETUDIANT ) malloc( n * sizeof(ETUDIANT));

if(!*m) exit (-1);

}

//

void remplir_notes(float *t)

{

int i;

for (i=0; i<5; i++)

scanf("%f", t+i);

}

//

void afficher_notes(float *t)

{

int i;

for (i=0; i<5; i++)

printf("%f", *(t+i));

}

Mme Wiem Yaiche Elleuch tableau dynamique de n étudiants

Page 1

float calcul_moy(float *t)

{

float s=0.0;

int i;

for (i=0; i<5; i++)

s+= *(t+i);

return(s/5);

Publicité

}

//

void calcul_moy2(float t, float m)

{

float s=0.0;

int i;

for (i=0; i<5; i++)

s+= *(t+i);

*m=s/5;

}

//

ETUDIANT remplir_un_etudiant ()

{

ETUDIANT e;

printf("saisir ce, nom ");

scanf("%d%s", &e.ce, e.nom);

printf("saisir les notes");

remplir_notes(e.notes);

printf("saisir date naissance ");

scanf("%d%d%d", &e.date_naiss.jour, &e.date_naiss.mois, &e.date_naiss.annee );

e.moy=calcul_moy(e.notes);

//ou bien

return e;

calcul_moy2 (e.notes, &e.moy);

}

//

void remplir_un_etudiant2 (ETUDIANT *e)

{

Publicité

printf("saisir ce, nom ");

scanf("%d%s", &e->ce, e->nom);

printf("saisir les notes");

remplir_notes(e->notes);

printf("saisir date naissance ");

scanf("%d%d%d", &e->date_naiss.jour, &e->date_naiss.mois, &e->date_naiss.annee );

e->moy=calcul_moy(e->notes);

//ou bien

}

calcul_moy2 (e->notes, &e->moy);

Mme Wiem Yaiche Elleuch tableau dynamique de n étudiants

Page 2

void afficher_un_etudiant (ETUDIANT e)

{

printf(" ce, nom ");

printf("%d%s", e.ce, e.nom);

printf(" les notes ");

afficher_notes(e.notes);

printf("date naissance ");

printf("%d%d%d", e.date_naiss.jour, e.date_naiss.mois, e.date_naiss.annee );

printf("%f", e.moy);

}

/**/

void remplir_tab(ETUDIANT *t,int n)

{

int i;

for(i=0; i<n; i++)

*(t+i)= remplir_un_etudiant();

Publicité

//ou bien remplir_un_etudiant2(t+i);

}

/**/

void afficher_tab(ETUDIANT *t,int n)

{

int i;

for(i=0; i<n; i++)

afficher_un_etudiant(*(t+i));

}

//

void main()

{

int n;

ETUDIANT *tab;

printf("saisir nbre d'etudiants");

scanf("%d", &n);

tab=allocation(n);

//ou bien allocation2 (&tab, n);

remplir_tab(tab,n);

afficher_tab(tab,n);

free(tab);

}

Mme Wiem Yaiche Elleuch tableau dynamique de n étudiants

Page 3