|
|
|
@ -82,7 +82,7 @@ int rechercheCandidat(Etudiant *tetud[], int nbCandidats, int numRecherche, bool
|
|
|
|
|
|
|
|
|
|
void afficherEtudiant(Etudiant mEtudiant)
|
|
|
|
|
{
|
|
|
|
|
printf("Numéro : %d\nNom : %s\nPrénom :%s\nNotes : %.2f\t%.2f\t%.2f\t%.2f\nNombre de choix : %d\n",mEtudiant.num, mEtudiant.nom, mEtudiant.prenom, mEtudiant.tabNotes[0], mEtudiant.tabNotes[1], mEtudiant.tabNotes[2], mEtudiant.tabNotes[3], mEtudiant.nbChoix);
|
|
|
|
|
printf("Numéro : %d\nNom : %s\nPrénom :%s\nNotes : %.2f\t%.2f\t%.2f\t%.2f\nNombre de choix : %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);
|
|
|
|
|
printf("\n");
|
|
|
|
|
}
|
|
|
|
@ -130,7 +130,7 @@ void afficherCandidatsAdmis(Etudiant *tetud[], int nbCandidats)
|
|
|
|
|
afficherEtudiant(*tetud[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}// TODO : Mettre un message d'erreur si aucun
|
|
|
|
|
} // TODO : Mettre un message d'erreur si aucun
|
|
|
|
|
|
|
|
|
|
void afficherCandidatsRefuses(Etudiant *tetud[], int nbCandidats)
|
|
|
|
|
{
|
|
|
|
@ -183,11 +183,11 @@ Etudiant modifStatueCandidat(Etudiant *tetud[], int nbCandidats, float noteMin[]
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < nbCandidats; i++)
|
|
|
|
|
{
|
|
|
|
|
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])
|
|
|
|
|
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])
|
|
|
|
|
{
|
|
|
|
|
tetud[i]->lChoix->choix.decisionAdmission = 2;
|
|
|
|
|
}
|
|
|
|
|
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])
|
|
|
|
|
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])
|
|
|
|
|
{
|
|
|
|
|
tetud[i]->lChoix->choix.decisionAdmission = 1;
|
|
|
|
|
}
|
|
|
|
@ -201,13 +201,13 @@ Etudiant modifStatueCandidat(Etudiant *tetud[], int nbCandidats, float noteMin[]
|
|
|
|
|
|
|
|
|
|
int statueCandidat(Etudiant *tetud[], int nbCandidats)
|
|
|
|
|
{
|
|
|
|
|
for(int i = 0; i < nbCandidats; i++)
|
|
|
|
|
for (int i = 0; i < nbCandidats; i++)
|
|
|
|
|
{
|
|
|
|
|
if(tetud[i]->lChoix->choix.decisionAdmission == 1)
|
|
|
|
|
if (tetud[i]->lChoix->choix.decisionAdmission == 1)
|
|
|
|
|
{
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
else if(tetud[i]->lChoix->choix.decisionAdmission == -1)
|
|
|
|
|
else if (tetud[i]->lChoix->choix.decisionAdmission == -1)
|
|
|
|
|
{
|
|
|
|
|
return -1;
|
|
|
|
|
}
|
|
|
|
@ -221,9 +221,9 @@ int statueCandidat(Etudiant *tetud[], int nbCandidats)
|
|
|
|
|
int nbCandidatsAdmis(Etudiant *tetud[], int nbCandidats)
|
|
|
|
|
{
|
|
|
|
|
int nbAdmis = 0;
|
|
|
|
|
for(int i = 0; i < nbCandidats; i++)
|
|
|
|
|
for (int i = 0; i < nbCandidats; i++)
|
|
|
|
|
{
|
|
|
|
|
if(tetud[i]->lChoix->choix.decisionAdmission == 1)
|
|
|
|
|
if (tetud[i]->lChoix->choix.decisionAdmission == 1)
|
|
|
|
|
{
|
|
|
|
|
nbAdmis++;
|
|
|
|
|
}
|
|
|
|
@ -234,9 +234,9 @@ int nbCandidatsAdmis(Etudiant *tetud[], int nbCandidats)
|
|
|
|
|
int nbCandidatsRefuses(Etudiant *tetud[], int nbCandidats)
|
|
|
|
|
{
|
|
|
|
|
int nbRefuses = 0;
|
|
|
|
|
for(int i = 0; i < nbCandidats; i++)
|
|
|
|
|
for (int i = 0; i < nbCandidats; i++)
|
|
|
|
|
{
|
|
|
|
|
if(tetud[i]->lChoix->choix.decisionAdmission == -1)
|
|
|
|
|
if (tetud[i]->lChoix->choix.decisionAdmission == -1)
|
|
|
|
|
{
|
|
|
|
|
nbRefuses++;
|
|
|
|
|
}
|
|
|
|
@ -247,9 +247,9 @@ int nbCandidatsRefuses(Etudiant *tetud[], int nbCandidats)
|
|
|
|
|
int nbCandidatsAttente(Etudiant *tetud[], int nbCandidats)
|
|
|
|
|
{
|
|
|
|
|
int nbAttente = 0;
|
|
|
|
|
for(int i = 0; i < nbCandidats; i++)
|
|
|
|
|
for (int i = 0; i < nbCandidats; i++)
|
|
|
|
|
{
|
|
|
|
|
if(tetud[i]->lChoix->choix.decisionAdmission == 2)
|
|
|
|
|
if (tetud[i]->lChoix->choix.decisionAdmission == 2)
|
|
|
|
|
{
|
|
|
|
|
nbAttente++;
|
|
|
|
|
}
|
|
|
|
@ -260,9 +260,9 @@ int nbCandidatsAttente(Etudiant *tetud[], int nbCandidats)
|
|
|
|
|
float modifNoteMin(float noteMin[])
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
for(int i = 0; i < 5; i++)
|
|
|
|
|
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
|
|
|
|
|
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", ¬eMin[i]);
|
|
|
|
|
while (noteMin[i] < 0 || noteMin[i] > 20)
|
|
|
|
|
{
|
|
|
|
@ -279,9 +279,9 @@ float modifNoteMin(float noteMin[])
|
|
|
|
|
|
|
|
|
|
float modifNoteExel(float noteExel[])
|
|
|
|
|
{
|
|
|
|
|
for(int i = 0; i < 5; i++)
|
|
|
|
|
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
|
|
|
|
|
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", ¬eExel[i]);
|
|
|
|
|
while (noteExel[i] < 0 || noteExel[i] > 20)
|
|
|
|
|
{
|
|
|
|
@ -303,13 +303,87 @@ int modifNbPlaces(int nbPlaces)
|
|
|
|
|
return nbPlaces;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int ajouterCandidat(Candidat *tiut[])
|
|
|
|
|
/*int ajouterCandidat(Etudiant *tiut[])
|
|
|
|
|
{
|
|
|
|
|
Candidat cand;
|
|
|
|
|
Etudiant cand;
|
|
|
|
|
printf("Entrez votre nom et votre prénom :\n> ");
|
|
|
|
|
scanf("%s%s", cand.nom, cand.prenom)
|
|
|
|
|
scanf("%s%s", cand.nom, cand.prenom);
|
|
|
|
|
printf("Entrez vos notes en : mathématiques, français, anglais et en spécialité :\n> ");
|
|
|
|
|
scanf("%f%f%f%f", cand.tabNotes[0], cand.tabNotes[1], cand.tabNotes[2], cand.tabNotes[3]);
|
|
|
|
|
printf("Entrez votre nombre de choix : ");
|
|
|
|
|
scanf("%d", cand.nbChoix)
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
void ajouterCandidature(Etudiant *tetud[], int nbCandidats, VilleIUT *tiut[], int nbVillesIUT)
|
|
|
|
|
{
|
|
|
|
|
int num, posCand, posVille;
|
|
|
|
|
char ville[30], dept[30];
|
|
|
|
|
bool trouve;
|
|
|
|
|
Choix c;
|
|
|
|
|
//! AUTHENTIFICATION
|
|
|
|
|
printf("Entrez votre numéro de candidat :\n> ");
|
|
|
|
|
scanf("%d", &num);
|
|
|
|
|
posCand = rechercheCandidat(tetud, nbCandidats, num, &trouve);
|
|
|
|
|
if (!trouve)
|
|
|
|
|
{
|
|
|
|
|
printf("Numéro de candidat non trouvé.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
printf("Entrez la ville du département que vous souhaitez ajouter :\n> ");
|
|
|
|
|
scanf("%s", ville);
|
|
|
|
|
posVille = rechercheVille(tiut, nbVillesIUT, ville, &trouve);
|
|
|
|
|
if (!trouve)
|
|
|
|
|
{
|
|
|
|
|
printf("Ville non trouvée.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
printf("Entrez le département que vous souhaitez ajouter :\n> ");
|
|
|
|
|
scanf("%s", dept);
|
|
|
|
|
rechercheDept(tiut[posVille]->ldept, dept, &trouve);
|
|
|
|
|
if (!trouve)
|
|
|
|
|
{
|
|
|
|
|
printf("Département non trouvé.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
strcpy(c.ville, ville);
|
|
|
|
|
strcpy(c.departement, dept);
|
|
|
|
|
c.decisionAdmission = 0;
|
|
|
|
|
c.decisionCandidat = 0;
|
|
|
|
|
tetud[posCand]->lChoix = insererChoix(tetud[posCand]->lChoix, c);
|
|
|
|
|
tetud[posCand]->nbChoix++;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void supprimerCandidature(Etudiant *tetud[], int nbCandidats)
|
|
|
|
|
{
|
|
|
|
|
int num, posCand, posVille;
|
|
|
|
|
char ville[30], dept[30];
|
|
|
|
|
bool trouve;
|
|
|
|
|
Choix c;
|
|
|
|
|
//! AUTHENTIFICATION
|
|
|
|
|
printf("Entrez votre numéro de candidat :\n> ");
|
|
|
|
|
scanf("%d", &num);
|
|
|
|
|
posCand = rechercheCandidat(tetud, nbCandidats, num, &trouve);
|
|
|
|
|
if (!trouve)
|
|
|
|
|
{
|
|
|
|
|
printf("Numéro de candidat non trouvé.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
printf("Entrez la ville du département que vous souhaitez supprimer :\n> ");
|
|
|
|
|
scanf("%s", c.ville);
|
|
|
|
|
printf("Entrez le département que vous souhaitez supprimer :\n> ");
|
|
|
|
|
scanf("%s", c.departement);
|
|
|
|
|
trouve = rechercheChoix(tetud[posCand]->lChoix, c);
|
|
|
|
|
if (!trouve)
|
|
|
|
|
{
|
|
|
|
|
printf("Choix non trouvé.");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
tetud[posCand]->lChoix = supprimerChoix(tetud[posCand]->lChoix, c);
|
|
|
|
|
tetud[posCand]->nbChoix--;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ? 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 ?
|
|
|
|
|