Khena BRUNEAU 2 years ago
commit 0f18c4b60b

19
SAE.h

@ -5,9 +5,9 @@
#include "structures.h" #include "structures.h"
/* Menus */ /* Menus */
void choixMenu(void); void choixMenu(ListeDept *tiut[]);
void menuUtilisateur(void); void menuUtilisateur(ListeDept *tiut[]);
void menuAdministrateur(void); void menuAdministrateur(ListeDept *tiut[]);
/* Partie 1 */ /* Partie 1 */
ListeDept listenouv(void); ListeDept listenouv(void);
@ -19,6 +19,7 @@ void afficherDept(ListeDept l);
int rechercheDept(ListeDept l, char departement[], bool *trouve); int rechercheDept(ListeDept l, char departement[], bool *trouve);
ListeDept supprimerEnTete(ListeDept l); ListeDept supprimerEnTete(ListeDept l);
ListeDept supprimer(ListeDept l, char departement[]); ListeDept supprimer(ListeDept l, char departement[]);
int longueur(ListeDept l);
int getNbP(ListeDept l, int pos); int getNbP(ListeDept l, int pos);
void setNbP(ListeDept l, int pos, int valeur); void setNbP(ListeDept l, int pos, int valeur);
@ -45,6 +46,18 @@ void modificationRespDept(VilleIUT *tiut[], int nb);
// Partie 3 // Partie 3
Departement lireDpt(FILE *flot, ListeDepartement dpt)
void afficherDept(Departement dpt);
Admission lireCandidat(FILE *flot, ListeAdmission la);
void afficherCandidat(Admission candidat);
ListeAdmission chargerCandidats(char *ficAdmission, char dptResAdmi[30], ListeAdmission la);
void sauvegarderCandidats(ListeAdmission listeCandidats, char dptResAdmi[30]);
void afficherCandidatsAdmis(ListeAdmission listeCandidats);
void afficherCandidatsNonAdmis(ListeAdmission listeCandidats);
void afficherCandidatsAttente(ListeAdmission listeCandidats);
void afficherCandidatsDpt(ListeAdmission listeCandidats);
ListeAdmission MoyenneCandidats(ListeAdmission listeCandidats);
// Liste Admission // Liste Admission
ListeAdmission listenouvAdm(void); ListeAdmission listenouvAdm(void);
ListeAdmission insererEnTeteAdm(ListeAdmission la, Admission candidat); ListeAdmission insererEnTeteAdm(ListeAdmission la, Admission candidat);

BIN
exe

Binary file not shown.

@ -2,5 +2,6 @@
void global(void) void global(void)
{ {
} }

@ -1,6 +1,6 @@
#include "SAE.h" #include "SAE.h"
void choixMenu(void) void choixMenu(ListeDept *tiut[])
{ {
int choix; int choix;
bool c = false; bool c = false;
@ -17,11 +17,11 @@ void choixMenu(void)
{ {
case 1: case 1:
c = true; c = true;
menuUtilisateur(); menuUtilisateur(tiut);
break; break;
case 2: case 2:
c = true; c = true;
menuAdministrateur(); menuAdministrateur(tiut);
break; break;
case 9: case 9:
c = true; c = true;
@ -33,7 +33,7 @@ void choixMenu(void)
} }
} }
void menuUtilisateur(void) void menuUtilisateur(ListeDept *tiut[])
{ {
int choix; int choix;
bool c = false; bool c = false;
@ -68,7 +68,7 @@ void menuUtilisateur(void)
break; break;
case 9: case 9:
c = true; c = true;
return choixMenu(); return choixMenu(tiut);
default: default:
printf("Option non reconnue. Veuillez recommencer.\n"); printf("Option non reconnue. Veuillez recommencer.\n");
break; break;
@ -76,7 +76,7 @@ void menuUtilisateur(void)
} }
} }
void menuAdministrateur(void) void menuAdministrateur(ListeDept *tiut[])
{ {
int choix; int choix;
bool c = false; bool c = false;
@ -120,7 +120,7 @@ void menuAdministrateur(void)
// //
break; break;
case 9: case 9:
return choixMenu(); return choixMenu(tiut);
break; break;
default: default:
printf("Option non reconnue. Veuillez recommencer.\n"); printf("Option non reconnue. Veuillez recommencer.\n");

@ -1,8 +1,7 @@
#include "SAE.h" #include "SAE.h"
/*
Departement lireDpt(FILE *flot, Admission ListeDepartement) Departement lireDept(FILE *flot, ListeDepartement dpt)
{ {
Departement dpt;
fscanf(flot, "%s\n%d\n%d\n", dpt.departement, &dpt.decisionAdmission, &dpt.decisionCandidat); fscanf(flot, "%s\n%d\n%d\n", dpt.departement, &dpt.decisionAdmission, &dpt.decisionCandidat);
return dpt; return dpt;
} }
@ -12,41 +11,41 @@ void afficherDpt(Departement dpt)
printf("\t%s\t%d\t%d", dpt.departement, dpt.decisionAdmission, dpt.decisionCandidat); printf("\t%s\t%d\t%d", dpt.departement, dpt.decisionAdmission, dpt.decisionCandidat);
} }
Admission lireCandidat(FILE *flot, ListeAdmission la) Admission lireCandidat(FILE *flot, ListeAdmission la, char dptResAdmis[])
{ {
int i = 0; int i = 0;
fscanf(flot, "%d\n", &la->candidat.num); fscanf(flot, "%d\n", &la->v.num);
fgets(candidat.nom, 22, flot); fgets(la->v.nom, 22, flot);
candidat.nom[strlen(candidat.nom) - 1] = '\0'; la->v.nom[strlen(la->v.nom) - 1] = '\0';
fgets(candidat.prenom, 22, flot); fgets(la->v.prenom, 22, flot);
candidat.prenom[strlen(candidat.prenom) - 1] = '\0'; la->v.prenom[strlen(la->v.prenom) - 1] = '\0';
fscanf(flot, "%d\t%d\t%d\t%d\n%d\n%s\n", &candidat.tabMatiere[0], &candidat.tabMatiere[1], &candidat.tabMatiere[2], &candidat.tabMatiere[3], &candidat.nbChoix, candidat.ville); fscanf(flot, "%d\t%d\t%d\t%d\n%d\n%s\n", &la->v.tabMatiere[0], &la->v.tabMatiere[1], &la->v.tabMatiere[2], &la->v.tabMatiere[3], &la->v.nbChoix, la->v.ville);
if(candidat.nbChoix == 0) if(la->v.nbChoix == 0)
{ {
listenouv(); listenouv();
return candidat; return la->v;
} }
dpt = lireDpt(flot); ajouterDpt(la->v.ldept, lireDept(flot, la->v.ldept));
while(!feof(flot) && i < candidat.nbChoix) while(!feof(flot) && i < la->v.nbChoix)
{ {
if(strcmp(dpt.departement, dptResAdmi) == 0) if(strcmp(la->v.ldept, dptResAdmi) == 0)
{ {
candidat.ldept = inserer(candidat, dpt); la->v.ldept = inserer(la->v, la->v.ldept);
} }
dpt = lireDpt(flot); ajouterDpt(la->v.ldept, lireDept(flot, la->v.ldept));
i++; i++;
} }
return candidat; return la->v;
} }
void afficherCandidats(Admission candidat) void afficherCandidats(ListeAdmission la)
{ {
int i; int i;
printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t%d\t%s\t%s\t%d\t%d", candidat.num, candidat.nom, candidat.prenom, candidat.noteMaths, candidat.noteFrançais, candidat.noteAnglais, candidat.noteSpe, candidat.nbChoix, candidat.ville); printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t%d\t%s\t%s\t%d\t%d", la->v.num, la->v.nom, la->v.prenom, la->v.tabMatiere[0], la->v.tabMatiere[1], la->v.tabMatiere[2], la->v.tabMatiere[3], la->v.nbChoix, la->v.ville);
for(i = 0; i < candidat.nbChoix; i++) for(i = 0; i < la->v.nbChoix; i++)
{ {
afficherDpt(candidat.ldept->v); afficherDpt(la->v.ldept->v);
ldept = ldept->suiv; la->v.ldept = la->v.ldept->suiv;
} }
printf("\n"); printf("\n");
} }
@ -63,7 +62,7 @@ ListeAdmission chargerCandidats(char *ficAdmission, char dptResAdmi[30], ListeAd
printf("Erreur d'ouverture du fichier !\n"); printf("Erreur d'ouverture du fichier !\n");
exit(1); exit(1);
} }
la->v = lireCandidat(flot); la->v = lireCandidat(flot, la, dptResAdmi);
while(!feof(flot)) while(!feof(flot))
{ {
listeCandidats = insererCand(listeCandidats, candidat); listeCandidats = insererCand(listeCandidats, candidat);
@ -225,4 +224,3 @@ int modifNbAdmisMax()
scanf("%d", &nbAdmisMax); scanf("%d", &nbAdmisMax);
return nbAdmisMax; return nbAdmisMax;
} }
*/

@ -1,5 +1,5 @@
#include "SAE.h" #include "SAE.h"
/*
// ListeAdmission // ListeAdmission
ListeAdmission listenouvAdm(void) ListeAdmission listenouvAdm(void)
@ -43,7 +43,7 @@ ListeAdmission supprimerEnTeteAdm(ListeAdmission la)
printf("Opérations interdites !!!!\n"); printf("Opérations interdites !!!!\n");
exit(1); exit(1);
} }
aux = la aux = la;
la = la->suiv; la = la->suiv;
free(aux); free(aux);
return la; return la;
@ -80,7 +80,7 @@ int TeteAdm(ListeAdmission la)
printf("Opérations interdites !!!!\n"); printf("Opérations interdites !!!!\n");
exit(1); exit(1);
} }
return la->v; /* Retourne un candidat return la->v; /* Retourne un candidat */
} }
bool videAdm(ListeAdmission la) bool videAdm(ListeAdmission la)
@ -194,7 +194,7 @@ int TeteDpt(ListeDepartement ld)
printf("Opérations interdites !!!!\n"); printf("Opérations interdites !!!!\n");
exit(1); exit(1);
} }
return ld->v; /* Retourne un département return ld->v; /* Retourne un département */
} }
bool videDpt(ListeDepartement ld) bool videDpt(ListeDepartement ld)
@ -227,5 +227,3 @@ int longueurDpt(ListeDepartement ld)
} }
return cpt; return cpt;
} }
*/

@ -164,3 +164,12 @@ char* getDept(ListeDept l, int pos)
} }
return l->departement; return l->departement;
} }
int longueur(ListeDept l)
{
if (vide(l))
{
return 0;
}
return 1 + longueur(l->suiv);
}

@ -18,3 +18,16 @@ void affichageDeptIUT(VilleIUT *tiut[], int nb)
afficherDept(tiut[i]->ldept); afficherDept(tiut[i]->ldept);
} }
} }
void affichageNbP(VilleIUT *tiut[], int nb)
{
printf("Voici le nombre de places dans chaque département de chaque IUT :");
for (int i = 0; i < nb; i++)
{
printf("\t%s :\n", tiut[i]->ville);
for (int v = 0; v < longueur(tiut[i]->ldept); v++)
{
printf("\t%s :\t%s", getDept(tiut[i]->ldept, v), getNbP(tiut[i]->ldept, v));
}
}
}
Loading…
Cancel
Save