master
Benjamin BACHELARD 2 years ago
parent c0fb40f86f
commit 9f6ece86af

@ -34,13 +34,13 @@ int chargementcandidat(Candidat *tcandidat[],int tmax){
fclose(fe1);
return i;
}
Candidat lireCandidat(FILE *fe1){
Candidat lireCandidat(FILE *fe1){//lire Candidat avec numero, nom, prenom, note et nb de departement demander
Candidat C;
C.lchoix = NULL;
fscanf(fe1,"%d %s %s %f %f %f %d", &C.numero, C.nom, C.prenom, &C.note.Francais, &C.note.Maths, &C.note.Anglais, &C.nb_choix);
return C;
}
Choix lireChoix(FILE *fe1){
Choix lireChoix(FILE *fe1){// lire les demandes du candidat
Choix ch;
fscanf(fe1,"%s %s %d %d", ch.ville, ch.departement, &ch.decision, &ch.validation);
return ch;
@ -59,6 +59,7 @@ int chargementcandidat(Candidat *tcandidat[],int tmax){
ch->suivant = ld;
return ch;
}
ListeC InsertionCandidat(ListeC ld, char *ville, char *departement, int decision, int validation){
if(ld==NULL)
return InsertionTeteCandidat(ld, ville, departement, decision, validation);
@ -71,11 +72,11 @@ int chargementcandidat(Candidat *tcandidat[],int tmax){
void affichageCandidatchoix(Candidat *tcandidat[],int n){
int i;
for(i=0;i<n;i++){
afficheCandidat(tcandidat, i);
affichageListeCandidatchoix(tcandidat[i]->lchoix);
afficheCandidat(tcandidat, i);//affichage d'un candiat avec info
affichageListeCandidatchoix(tcandidat[i]->lchoix);//affiche les demande du candidat
}
}
void afficheCandidat(Candidat *tcandidat[], int i){
void afficheCandidat(Candidat *tcandidat[], int i){//la fonction affichage pour les info du candidat
printf("\n%d\t", tcandidat[i]->numero);
printf("%s ", tcandidat[i]->nom);
printf("%s\t", tcandidat[i]->prenom);
@ -84,17 +85,17 @@ int chargementcandidat(Candidat *tcandidat[],int tmax){
printf("%.2f\t", tcandidat[i]->note.Anglais);
printf("%d\n", tcandidat[i]->nb_choix);
}
void affichageListeCandidatchoix(ListeC ld){
void affichageListeCandidatchoix(ListeC ld){// la fonction affichage des demande du candidat
while(ld!=NULL){
printf("%s\t",ld->ville);
printf("%s\t",ld->departement);
printf("%d\t",ld->decision);
printf("%d\n",ld->validation);
ld = ld->suivant;
ld = ld->suivant;//demande suivante
}
}
// Menu Candidat
void MenuCandidat(Candidat *tcandidat[],VilleIUT *tiut[],int nc){
void MenuCandidat(Candidat *tcandidat[],VilleIUT *tiut[],int nc){//Menu candidat
int Achoix, choix, i, j, comp, comp1, numero, place;
char Ncandidat[30], PNcandidat[30], departement[30], newdepart[30], Vmodif[30], Ville[30];
printf("\n >--------------------------------------------------<\n");
@ -104,15 +105,17 @@ void MenuCandidat(Candidat *tcandidat[],VilleIUT *tiut[],int nc){
printf("\n >--------------------------------------------------<\n");
printf("\n\tVotre choix : ");
scanf("\n%d",&Achoix);
system("cls");
system("clear");
while(Achoix>0 && Achoix<3){
while(Achoix==1){
while(Achoix==1){//choix pour Candidat
printf("\n\nVeuillez saisir votre numero de Candidat(si revenir au menu - 0)\n:");
scanf("%d",&numero);
if(numero==0){
Achoix=0;
break;
}
place=verificationid(tcandidat, numero, nc);
place=verificationid(tcandidat, numero, nc);//Verifiaction de l'id du candidat
if(place==-1){
printf("pb numero inconnu");
exit(1);
@ -122,7 +125,7 @@ void MenuCandidat(Candidat *tcandidat[],VilleIUT *tiut[],int nc){
printf("\n0-Revenir au menu\n1-modifier\n2-ajouter\n3-supprimer\n:");
scanf("%d",&choix);
while(choix>0){
if(choix==1){
if(choix==1){//Modifier demande
printf("\nVille où voulez modifier : ");
scanf("%s",Ville);
printf("\nDepartement lier : ");
@ -133,63 +136,65 @@ void MenuCandidat(Candidat *tcandidat[],VilleIUT *tiut[],int nc){
scanf("%s",newdepart);
tcandidat[place]->lchoix=modifCandidat(tcandidat[place]->lchoix, departement, newdepart, Ville, Vmodif, nc);
}
if(choix==2){
if(choix==2){//Ajout d'une demande
printf("\nVille a ajouter : ");
scanf("%s",Ville);
printf("\nDepartement lier : ");
scanf("%s",departement);
tcandidat[place]->lchoix=ajoutCandidat(tcandidat[place]->lchoix, departement, Ville);
}
if(choix==3){
if(choix==3){//Supprimer une demande
printf("\nVille a supprimer : ");
scanf("%s",Ville);
printf("\nDepartement lier : ");
scanf("%s",departement);
tcandidat[place]->lchoix=suppressionCandidat(tcandidat[place]->lchoix, departement, Ville);
}
affichageListeCandidatchoix(tcandidat[place]->lchoix);
system("cls");
system("clear");
affichageListeCandidatchoix(tcandidat[place]->lchoix);//affichage des demande du candidat
printf("\n0-Revenir au menu\n1-modifier\n2-ajouter\n3-supprimer\n:");
scanf("%d",&choix);
}
}
while(Achoix==2){
while(Achoix==2){//Choix pour le departement
printf("\n0-Revenir au menu\n1-Afficher Info pour un Candidat\n2-Afficher tout les Candidat par departement\n3-Afficher tout les Candidat avec leur information\n:");
scanf("\n%d",&choix);
if(choix==0){
Achoix=0;
break;
}
while(choix>0){
if(choix==1){
while(choix>0 && choix<4){
if(choix==1){//Afficher Info pour un Candidat
printf("\nnom du candidat:");
scanf("%s",Ncandidat);
printf("\nprenom du candidat:");
scanf("%s",PNcandidat);
for(i=0;i<nc;i++){
comp=strcmp(tcandidat[i]->nom, Ncandidat);
comp=strcmp(tcandidat[i]->nom, Ncandidat);//recherche du candidat
comp1=strcmp(tcandidat[i]->prenom, PNcandidat);
if(comp==0 && comp1==0){
afficheCandidat(tcandidat, i);
affichageListeCandidatchoix(tcandidat[i]->lchoix);
afficheCandidat(tcandidat, i);//affiche du candidat
affichageListeCandidatchoix(tcandidat[i]->lchoix);//affiche des demandse du candidat
}
}
}
if(choix==2){
if(choix==2){//afficher tout les candidat par departeent
printf("\nnom du departement souhaiter :");
scanf("%s",departement);
for(i=0;i<nc;i++){
if(rechercheCandidatParDeaprtement(tcandidat[i]->lchoix,departement, nc) ==0){
afficheCandidat(tcandidat, i);
if(rechercheCandidatParDeaprtement(tcandidat[i]->lchoix,departement, nc) ==0){//fonction recherche
afficheCandidat(tcandidat, i);//affichage des candidat
}
}
}
if(choix==3){
if(choix==3){//afficher tout les candidat avec leur demande
printf("\n\n\n\t\tTableau Candidat et choix\n");
affichageCandidatchoix(tcandidat,nc);
}
printf("\nVoulez-vous choisir une autre fonction ? Sinon taper 0 pour valider : ");
scanf("%d%*c",&choix);
if(choix==0){
if(choix==0){//Pour revenir au Menu
Achoix=0;
break;
}
@ -197,7 +202,7 @@ void MenuCandidat(Candidat *tcandidat[],VilleIUT *tiut[],int nc){
}
}
}
int rechercheCandidatParDeaprtement(ListeC ld,char *departement, int nc){
int rechercheCandidatParDeaprtement(ListeC ld,char *departement, int nc){//fonction de recherche pour les candidats par departement
int emp,i=0;
while(ld!=NULL){
emp = strcmp(departement, ld->departement);
@ -207,7 +212,7 @@ int rechercheCandidatParDeaprtement(ListeC ld,char *departement, int nc){
}
return-1;
}
int rechercheCandidatParVille(ListeC ld,char *departement ,char *Ville, int nc){
int rechercheCandidatParVille(ListeC ld,char *departement ,char *Ville, int nc){//recherche de candidat par ville et departement
int emp,emp1,i=0;
while(ld!=NULL){
emp = strcmp(Ville, ld->ville);
@ -218,7 +223,7 @@ int rechercheCandidatParVille(ListeC ld,char *departement ,char *Ville, int nc){
}
return-1;
}
int verificationid(Candidat *tcandidat[], int numero, int nc){
int verificationid(Candidat *tcandidat[], int numero, int nc){//verification de l'id du candidat
int i;
for(i=0;i<nc;i++){
if(tcandidat[i]->numero==numero)
@ -232,14 +237,14 @@ ListeC modifCandidat(ListeC ld, char *departement, char *newdepart, char *Ville,
comp=strcmp(ld->departement,departement);
comp1=strcmp(ld->ville,Ville);
if(comp==0 && comp1==0){
strcpy(ld->departement, newdepart);
strcpy(ld->ville, newVille);
strcpy(ld->departement, newdepart);//modification de departement
strcpy(ld->ville, newVille);//modification de la ville
return ld;
}
ld=ld->suivant;
}
}
ListeC ajoutCandidat(ListeC ld, char *departement, char *ville){
ListeC ajoutCandidat(ListeC ld, char *departement, char *ville){//ajout d'un maillon pour le candidat
Choix *ch;
ch = (Choix*)malloc(sizeof(Choix));
if(ch==NULL){
@ -262,13 +267,13 @@ ListeC ajoutCandidat(ListeC ld, char *departement, char *ville){
}
return ld;
}
ListeC suppressionTeteCandidat(ListeC ld){
ListeC suppressionTeteCandidat(ListeC ld){//supprimer le candidat
ListeC ldsvt;
ldsvt=ld->suivant;
free(ld);
return ldsvt;
}
ListeC suppressionCandidat(ListeC ld,char *departement, char *ville){
ListeC suppressionCandidat(ListeC ld,char *departement, char *ville){//recherche du candidat
if(ld==NULL)
return ld;
if(strcmp(ld->departement, departement) ==0 && strcmp(ld->ville, ville) ==0)

12
iut.c

@ -24,9 +24,7 @@ int chargement(VilleIUT *tiut[],int tmax){
printf("Problème d'ouverture du fichier");
return-1;
}
V = lireVille(fe);
while(!feof(fe)){
tiut[i] = (VilleIUT*)malloc(sizeof(VilleIUT));
if(tiut[i]==NULL){
@ -44,14 +42,14 @@ int chargement(VilleIUT *tiut[],int tmax){
fclose(fe);
return i;
}
VilleIUT lireVille(FILE *fe){
VilleIUT lireVille(FILE *fe){//lire la ligne de la ville avec ville et le nombre dedepartement
VilleIUT V;
V.ldept = NULL;
fscanf(fe,"%s %d", V.ville, &V.nbDep);
return V;
}
MaillonDept lireDep(FILE *fe){
MaillonDept lireDep(FILE *fe){//lire departement avec le nombre de place le responsable et l'etat
MaillonDept m;
fscanf(fe,"%s %d %s %c", m.departement, &m.nbP, m.resp, &m.AouD);
return m;
@ -79,15 +77,15 @@ int chargement(VilleIUT *tiut[],int tmax){
ld->suivant = Insertion(ld->suivant, departement, nbP, resp, AouD);
return ld;
}
//affichage Ville+departement..
//affichage Ville
void affichage (VilleIUT *tiut[],int n){
int i;
for(i=0;i<n;i++){
printf("\n%s\t%d\n", tiut[i]->ville, tiut[i]->nbDep);
affichageListe(tiut[i]->ldept);
affichageListe(tiut[i]->ldept);//apel fonction affichage des departement
}
}
void affichageListe(ListeD ld){
void affichageListe(ListeD ld){//fonction affichage des departement
while(ld!=NULL){
printf("%s\t",ld->departement);
printf("%d\t",ld->nbP);

@ -1,7 +1,4 @@
#include <stdio.h>
// Structure pour stocker les informations sur un choix d'un candidat
typedef struct{
float Francais;

Loading…
Cancel
Save