Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
h>
#include<stdlib.h>
#include<string.h>
//EXERCICE 2
//question1
typedef struct etudiant etudiant;
struct etudiant{
char nom[30];
float moyenne;
etudiant *nxt;
etudiant *prev;
};
//question2
typedef struct liste liste;
struct liste {
int taille;
etudiant *premier;
etudiant *dernier;
};
liste *creerListe();
void insererDebut(liste *, char *, float );
void insererFin(liste *, char *, float );
float moyenne(liste *);
void afficherDebut(liste *);
void afficherFin(liste *);
void supprimerTete(liste *);
void supprimerFin(liste *);
int main(){
liste *p=creerListe();
//question3
liste *creerListe(){
liste *p=(liste*)malloc(sizeof(liste));
p->taille=0;
p->dernier=NULL;
p->premier=NULL;
return p;
}
//question4
void insererDebut(liste *p, char *n, float m){
if(p!=NULL){
etudiant *nv=malloc(sizeof *nv );
strcpy(nv->nom,n);
nv->moyenne=m;
nv->prev=NULL;
if(p->dernier==NULL)
{
nv->nxt=NULL;
p->premier=nv;
p->dernier=nv;
}
else{
p->premier->prev=nv;
nv->nxt=p->premier;
p->premier=nv;
}
p->taille++;}
}
//question 5
void insererFin(liste *p, char *n, float m){
if(p!=NULL){
etudiant *nv=(etudiant *)malloc(sizeof(etudiant ));
strcpy(nv->nom,n);
nv->moyenne=m;
nv->nxt=NULL;
if(p->dernier==NULL)
{
nv->prev=NULL;
p->premier=nv;
p->dernier=nv;
}
else{
p->dernier->nxt=nv;
nv->prev=p->dernier;
p->dernier=nv;
}
p->taille++;}
}
//question 6
float moyenne(liste *p){
if(p!=NULL) {
float m,s=0;
etudiant *tmp=p->premier;
while(tmp!=NULL)
{
s+=tmp->moyenne;
tmp=tmp->nxt;
}
m=s/p->taille;
return m;
}
}
//question 7
void afficherDebut(liste *p) {
etudiant *tmp=p->premier;
while(tmp)
{
printf("le nom d'etudiant est : %s\n",tmp->nom);
printf("le moyenne d'etudiant est : %f\n",tmp->moyenne);
tmp=tmp->nxt;
}
}
//question 8
etudiant *tmp=p->premier;
p->premier=p->premier->nxt;
p->premier->prev=NULL;
free(tmp);
}
//question 10
void supprimerFin(liste *p){
etudiant *tmp=p->dernier;
p->dernier=p->dernier->prev;
p->dernier->nxt=NULL;
free(tmp);
}
REALISED BY :
EL OUAHABI SOUFYANE