ajout de fonctions

master
antoine.perederii 2 years ago
parent 4c450daac1
commit 1fda91b974

27
SAE.h

@ -51,18 +51,7 @@ void modificationRespDept(VilleIUT *tiut[], int nbIUT);
void afficherEtudiant(Etudiant mEtudiant); void afficherEtudiant(Etudiant mEtudiant);
void sauvegarderCandidats(Etudiant *tetud[], int nbCandidats); void sauvegarderCandidats(Etudiant *tetud[], int nbCandidats);
void sauvegarderChoix(ListeChoix lChoix, FILE *flot); void sauvegarderChoix(ListeChoix lChoix, FILE *flot);
// Admission lireCandidat(FILE *flot, ListeAdmission la);
// // Departement lireDpt(FILE *flot, ListeDepartement dpt);
// // void afficheDept(Departement dpt);
// // // void afficherCandidat(Admission candidat);
int chargerCandidats(Etudiant *tetud[]); int chargerCandidats(Etudiant *tetud[]);
// // 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 Choix // Liste Choix
ListeChoix listenouvChoix(void); ListeChoix listenouvChoix(void);
@ -77,23 +66,9 @@ void afficherChoix(ListeChoix lc);
int longueurChoix(ListeChoix lc); int longueurChoix(ListeChoix lc);
void afficherCandidatsChoix(Choix choix); void afficherCandidatsChoix(Choix choix);
/*
Departement lireDpt(FILE *flot);
void afficherDpt(Departement dpt);
Admission lireCandidat(FILE *flot);
void afficherCandidat(Admission candidat);
ListeAdmission chargerCandidats(char *ficAdmission, char dptResAdmi[30]);
void sauvegarderCandidats(ListeAdmission lAdmission, char dptResAdmi[30]);
void afficherCandidatsAdmis(ListeAdmission listeCandidats);
void afficherCandidatsNonAdmis(ListeAdmission listeCandidats);
void afficherCandidatsAttente(ListeAdmission listeCandidats);
void afficherCandidatsDpt(ListeAdmission listeCandidats);
ListeAdmission MoyenneCandidats(ListeAdmission listeCandidats);
int modifNoteMinAdmis();
int modifNbAdmisMax();
// Authentification // Authentification
/*
int ConnexionUtilisateur(char *login, char *mdp); int ConnexionUtilisateur(char *login, char *mdp);
ListeUtilisateurs chargerUtilisateurs(char *ficUtilisateurs, ListeUtilisateurs Utilisateurs); ListeUtilisateurs chargerUtilisateurs(char *ficUtilisateurs, ListeUtilisateurs Utilisateurs);
Utilisateur lireUtilisateur(FILE *flot); Utilisateur lireUtilisateur(FILE *flot);

@ -10,7 +10,7 @@
void afficherEtudiant(Etudiant mEtudiant) void afficherEtudiant(Etudiant mEtudiant)
{ {
int i; int i;
printf("%d\n%s\n%s\n%.2f\t%.2f\t%.2f\t%.2f\n%d\n", mEtudiant.num, mEtudiant.nom, mEtudiant.prenom, mEtudiant.tabMatiere[0], mEtudiant.tabMatiere[1], mEtudiant.tabMatiere[2], mEtudiant.tabMatiere[3], mEtudiant.nbChoix); printf("%d\n%s\n%s\n%.2f\t%.2f\t%.2f\t%.2f\n%d\n", mEtudiant.num, mEtudiant.nom, mEtudiant.prenom, mEtudiant.tabNotes[0], mEtudiant.tabNotes[1], mEtudiant.tabNotes[2], mEtudiant.tabNotes[3], mEtudiant.nbChoix);
afficherChoix(mEtudiant.lChoix); afficherChoix(mEtudiant.lChoix);
printf("\n"); printf("\n");
} }
@ -38,7 +38,7 @@ int chargerCandidats(Etudiant *tetud[])
fscanf(file, "%d%s%s", &tetud[i]->num, tetud[i]->nom, tetud[i]->prenom); fscanf(file, "%d%s%s", &tetud[i]->num, tetud[i]->nom, tetud[i]->prenom);
for (int note = 0; note < 4; note++) for (int note = 0; note < 4; note++)
{ {
fscanf(file, "%f", &tetud[i]->tabMatiere[note]); fscanf(file, "%f", &tetud[i]->tabNotes[note]);
} }
fscanf(file, "%d", &tetud[i]->nbChoix); fscanf(file, "%d", &tetud[i]->nbChoix);
tetud[i]->lChoix = listenouvChoix(); tetud[i]->lChoix = listenouvChoix();
@ -67,7 +67,7 @@ void sauvegarderCandidats(Etudiant *tetud[], int nbCandidats)
fprintf(file, "%d\n%s\n%s\n", tetud[i]->num, tetud[i]->nom, tetud[i]->prenom); fprintf(file, "%d\n%s\n%s\n", tetud[i]->num, tetud[i]->nom, tetud[i]->prenom);
for (int note = 0; note < 4; note++) for (int note = 0; note < 4; note++)
{ {
fprintf(file, "%.2f\t", tetud[i]->tabMatiere[note]); fprintf(file, "%.2f\t", tetud[i]->tabNotes[note]);
} }
fprintf(file, "\n%d\n", tetud[i]->nbChoix); fprintf(file, "\n%d\n", tetud[i]->nbChoix);
sauvegarderChoix(tetud[i]->lChoix, file); sauvegarderChoix(tetud[i]->lChoix, file);
@ -83,115 +83,189 @@ void sauvegarderChoix(ListeChoix lChoix, FILE *file)
} }
} }
// void afficherCandidatsAdmis(ListeAdmission la) void afficherCandidatsAdmis(Etudiant *tetud[], int nbCandidats)
// { {
// while (!videCand(la->v.ldept)) for (int i = 0; i < nbCandidats; i++)
// { {
// if (la->v.ldept->v.decisionAdmission == 1) if (tetud[i]->lChoix->choix.decisionAdmission == 1)
// { {
// afficherCandidats(la); afficherEtudiant(*tetud[i]);
// } }
// la->v.ldept = la->v.ldept->suiv; tetud[i]->lChoix = tetud[i]->lChoix->suiv;
// } }
// } }
// void afficherCandidatsNonAdmis(ListeAdmission la) void afficherCandidatsRefuses(Etudiant *tetud[], int nbCandidats)
// { {
// while (!videCand(la->v.ldept)) for (int i = 0; i < nbCandidats; i++)
// { {
// if (la->v.ldept->v.decisionAdmission == 0) if (tetud[i]->lChoix->choix.decisionAdmission == -1)
// { {
// afficherCandidats(la); afficherEtudiant(*tetud[i]);
// } }
// } tetud[i]->lChoix = tetud[i]->lChoix->suiv;
// } }
}
// void afficherCandidatsAttente(ListeAdmission la)
// { void afficherCandidatsAttente(Etudiant *tetud[], int nbCandidats)
// while (!videCand(la->v.ldept)) {
// { for (int i = 0; i < nbCandidats; i++)
// if (la->v.ldept->v.decisionAdmission == 2) {
// { if (tetud[i]->lChoix->choix.decisionAdmission == 2)
// afficherCandidats(la); {
// } afficherEtudiant(*tetud[i]);
// la = la->suiv; }
// } tetud[i]->lChoix = tetud[i]->lChoix->suiv;
// } }
}
// void afficherCandidatsDpt(ListeAdmission la)
// { Etudiant moyenneCandidat(Etudiant mEtudiant)
// while (!videAdm(la->v.ldept)) {
// { float moyenne = 0;
// afficherCandidats(la); for (int i = 0; i < 4; i++)
// la = la->suiv; {
// } moyenne += mEtudiant.tabNotes[i];
// } }
moyenne /= 4;
// ListeAdmission MoyenneCandidats(ListeAdmission la) mEtudiant.tabNotes[moy] = moyenne;
// { return mEtudiant;
// while (!videAdm(la)) }
// {
// la->v.tabMatiere[4] = (la->v.tabMatiere[0] + la->v.tabMatiere[1] + la->v.tabMatiere[2] + la->v.tabMatiere[3]) / 4; Etudiant *moyenneCandidats(Etudiant *tetud[], int nbCandidats)
// la = la->suiv; {
// } for (int i = 0; i < nbCandidats; i++)
// return la; {
// } tetud[i] = moyenneCandidat(*tetud[i]);
}
// // Comment definir la note sur 20 mise lors de l'etude du dossier ? return tetud;
// // Ajouter une variable dans la structure Admission ? }
// // Ou mettre la liste et la note dans un tableau ?
// // Après examen de chaque dossier de candidature, Etudiant modifStatueCandidat(Etudiant *tetud[], int nbCandidats, float noteMin[], float noteExel[])
// // le jury doit regarder ou la note peut etre calculée automatiquement ? {
for (int i = 0; i < nbCandidats; i++)
// int modifNoteMinAdmis() {
// { if(tetud[i]->tabNotes[maths] >= noteMin[maths] && tetud[i]->tabNotes[francais] >= noteMin[francais] && tetud[i]->tabNotes[anglais] >= noteMin[anglais] && tetud[i]->tabNotes[spe] >= noteMin[spe] && tetud[i]->tabNotes[moy] >= noteMin[moy])
// int noteMaths, noteFrançais, noteAnglais, noteSpe; {
// printf("Entrez la nouvelle note minimale d'admission en maths (-1 pour quitter) : "); tetud[i]->lChoix->choix.decisionAdmission = 2;
// while (noteMaths < 0 || noteMaths > 20) }
// { else if(tetud[i]->tabNotes[maths] >= noteExel[maths] && tetud[i]->tabNotes[francais] >= noteExel[francais] && tetud[i]->tabNotes[anglais] >= noteExel[anglais] && tetud[i]->tabNotes[spe] >= noteExel[spe] && tetud[i]->tabNotes[moy] >= noteExel[moy])
// scanf("%d", &noteMaths); {
// if (noteMaths == -1) tetud[i]->lChoix->choix.decisionAdmission = 1;
// { }
// break; else
// } {
// printf("La note doit être comprise entre 0 et 20 !\n"); tetud[i]->lChoix->choix.decisionAdmission = -1;
// } }
// printf("Entrez la nouvelle note minimale d'admission en français (-1 pour quitter) : "); }
// while (noteFrançais < 0 || noteFrançais > 20) return *tetud;
// { }
// scanf("%d", &noteFrançais);
// if (noteFrançais == -1) int statueCandidat(Etudiant *tetud[], int nbCandidats)
// { {
// break; for(int i = 0; i < nbCandidats; i++)
// } {
// printf("La note doit être comprise entre 0 et 20 !\n"); if(tetud[i]->lChoix->choix.decisionAdmission == 1)
// } {
// printf("Entrez la nouvelle note minimale d'admission en anglais (-1 pour quitter) : "); return 1;
// while (noteAnglais < 0 || noteAnglais > 20) }
// { else if(tetud[i]->lChoix->choix.decisionAdmission == -1)
// scanf("%d", &noteAnglais); {
// if (noteAnglais == -1) return -1;
// { }
// break; else
// } {
// printf("La note doit être comprise entre 0 et 20 !\n"); return 2;
// } }
// printf("Entrez la nouvelle note minimale d'admission en spécialité (-1 pour quitter) : "); }
// while (noteSpe < 0 || noteSpe > 20) }
// {
// scanf("%d", &noteSpe); int nbCandidatsAdmis(Etudiant *tetud[], int nbCandidats)
// if (noteSpe == -1) {
// { int nbAdmis = 0;
// break; for(int i = 0; i < nbCandidats; i++)
// } {
// printf("La note doit être comprise entre 0 et 20 !\n"); if(tetud[i]->lChoix->choix.decisionAdmission == 1)
// } {
// } nbAdmis++;
}
// int modifNbAdmisMax() }
// { return nbAdmis;
// int nbAdmisMax; }
// printf("Entrez le nouveau nombre d'admis maximum : ");
// scanf("%d", &nbAdmisMax); int nbCandidatsRefuses(Etudiant *tetud[], int nbCandidats)
// return nbAdmisMax; {
// } int nbRefuses = 0;
for(int i = 0; i < nbCandidats; i++)
{
if(tetud[i]->lChoix->choix.decisionAdmission == -1)
{
nbRefuses++;
}
}
return nbRefuses;
}
int nbCandidatsAttente(Etudiant *tetud[], int nbCandidats)
{
int nbAttente = 0;
for(int i = 0; i < nbCandidats; i++)
{
if(tetud[i]->lChoix->choix.decisionAdmission == 2)
{
nbAttente++;
}
}
return nbAttente;
}
float modifNoteMin(float noteMin[])
{
for(int i = 0; i < 5; i++)
{
printf("Entrez la note minimale pour la matiere %s (0/20, -1 pour sortir) : ", i+1); // afficher le nom de la matiere du enum
scanf("%f", &noteMin[i]);
while (tabNotes[i] < 0 || tabNotes[i] > 20)
{
scanf("%f", &tabNotes[i]);
if (noteMaths == -1)
{
break;
}
printf("La note doit être comprise entre 0 et 20 !\n");
}
}
return noteMin;
}
float modifNoteExel(float noteExel[])
{
for(int i = 0; i < 5; i++)
{
printf("Entrez la note minimale pour la matiere %s (0/20, -1 pour sortir) : ", i+1); // afficher le nom de la matiere du enum
scanf("%f", &noteExel[i]);
while (tabNotes[i] < 0 || tabNotes[i] > 20)
{
scanf("%f", &tabNotes[i]);
if (noteMaths == -1)
{
break;
}
printf("La note doit être comprise entre 0 et 20 !\n");
}
}
return noteExel;
}
int modifNbPlaces(int nbPlaces)
{
printf("Entrez le nombre de places disponibles : ");
scanf("%d", &nbPlaces);
return nbPlaces;
}
// ? Comment definir la note sur 20 mise lors de l'etude du dossier ?
// ? Ajouter une variable dans la structure Admission ?
// ? Ou mettre la liste et la note dans un tableau ?
// ? Après examen de chaque dossier de candidature,
// ? le jury doit regarder ou la note peut etre calculée automatiquement ?

@ -38,7 +38,16 @@ typedef struct
int num; int num;
char nom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine char nom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine
char prenom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine char prenom[22]; // 20 caractere + 1 espace + 1 caractere de fin de chaine
float tabMatiere[5]; float tabNotes[5];
int nbChoix; int nbChoix;
ListeChoix lChoix; ListeChoix lChoix;
} Etudiant; } Etudiant;
enum(tabNotes)
{
maths,
francais,
anglais,
spe,
moy
};
Loading…
Cancel
Save