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 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
| #include<stdio.h>
#include<conio.h>
typedef struct date {
int jour;
int mois;
int an;
} Date;
typedef struct etudiant {
int mat;
char nom[20];
char prenom[20];
Date date_naiss;
float moy;
} Etudiant;
Date saisie_date() {
Date d;
printf("Donner le jour :");
scanf("%d",&d.jour);
printf("donner le mois :");
scanf("%d",&d.mois);
printf("Donner l annnee :");
scanf("%d",&d.an);
return(d);
}
Etudiant saisie_etudiant(){
Etudiant e;
printf("le nom :");
gets(e.nom);
printf("le prenom :");
gets(e.prenom);
printf("le matricule :");
scanf("%d",&e.mat);
e.date_naiss=saisie_date();
printf("la moyenne :");
scanf("%f",&e.moy);
return(e);
}
void affiche_etudiant(Etudiant e){
printf("le matricule est : %d\t",e.mat);
printf("\tle nom est : %s\t",e.nom);
printf("\tle prenom est : %s\t",e.prenom);
printf("\tla date de naissance est : %d/%d/%d\t",e.date_naiss.jour,e.date_naiss.mois,e.date_naiss.an);
printf("\tla moyenne : %0.02f\t",e.moy);
}
typedef struct classe {
int dim;
Etudiant T[1000];
}classe;
classe saisie_plusieurs(){
classe c ;
int i;
for(i=0;i<c.dim;i++)
{c.T[i]=saisie_etudiant();}
return c;
}
void affiche_tous(classe c){
int i;
for(i=0;i<c.dim;i++)
{printf("Matricule : %d",c.T[i].mat);
printf("Nom : %s",c.T[i].nom);
printf("Prenom : %s",c.T[i].prenom);
printf("Moyenne : %f",c.T[i].moy);
printf("Date de naissance : %d/%d/%d",c.T[i].date_naiss.jour,c.T[i].date_naiss.mois,c.T[i].date_naiss.an);
}}
void affiche_admis(classe c){
int i;
for(i=0;i<c.dim;i++)
{if(c.T[i].moy>=10)
affiche_tous(c);
} }
void rech_matricule(classe c){
int i;
for(i=0;i<c.dim;i++)
printf("entrer le matricule recherché :");
scanf("%d",&c.T[i].mat);
affiche_tous(c);
}
classe affiche_major(void){
classe c;
int i;
float m;
m=0;
for(i=0;i<c.dim;i++)
m=c.T[i].moy;
int compare_date(Date x,y){
if(x.an>y.an) return 1;
else if(x.an<y.an) return 2;
else if(x.mois>y.mois) return 1;
else if(x.mois<y.mois) return 2;
else if(x.jour>y.jour) return 1;
else if(x.jour<y.jour) return 2;
else return 0;
}
void tri_table(classe *te){
int n,k; Etudiant aux;
n=te;
for(i=O;i<=n;i++){
k=i;
for(j=i+1;j<=n-1;j++)
if(compare_date(Etudiant[k].date_naiss,Etudiant[j].date_naiss)==1)k=j;
}
aux=Etudiant[i];
Etudiant[i]=Etudiant[k];
Etudiant[k]=aux;
}
main(){
int i;
switch(i)
case 1 : printf("Saisir un nouveu etudiant");
case 2 : printf("Afficher tous les etudiants");
case 3 : printf("Afficher admis");
case 4 : printf("Recherche par matricule");
case 5 : printf("Recherche par nom");
case 6 : printf("Afficher le nom et le prenom du major");
case 7 : printf("Trier les etudiants par leur date de naissance");
}
} |
Partager