|
|
|
@ -116,4 +116,197 @@ int choixMenuVisiteur(void)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return choix;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#include "sae.h"
|
|
|
|
|
|
|
|
|
|
//fonctions Jean PARTIE 1 :
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Modifie le nombre de places d'un département dans un IUT.
|
|
|
|
|
*
|
|
|
|
|
* @param villeIut tableau de pointeurs sur les structures VilleIut
|
|
|
|
|
* @param nbVilles nombre de villes dans le tableau villeIut
|
|
|
|
|
* @param ville nom de la ville où se trouve l'IUT
|
|
|
|
|
* @param nomDept nom du département à modifier
|
|
|
|
|
* @param nbP nouveau nombre de places
|
|
|
|
|
*
|
|
|
|
|
* @return 1 si le département a été trouvé et modifié, 0 sinon
|
|
|
|
|
*/
|
|
|
|
|
int modifiePlacesDept(VilleIut *villeIut, int nbVilles, char *ville, char *nomDept, int nbP)
|
|
|
|
|
{
|
|
|
|
|
// Recherche de la ville et du département
|
|
|
|
|
int i;
|
|
|
|
|
for (i = 0; i < nbVilles; i++)
|
|
|
|
|
{
|
|
|
|
|
if (strcmp(villeIut[i].nom, ville) == 0)
|
|
|
|
|
{
|
|
|
|
|
// Ville trouvée, recherche du département
|
|
|
|
|
MaillonDept *dept = villeIut[i].ldept;
|
|
|
|
|
while (dept != NULL && strcmp(dept->nomDept, nomDept) != 0)
|
|
|
|
|
{
|
|
|
|
|
dept = dept->suiv;
|
|
|
|
|
}
|
|
|
|
|
if (dept != NULL)
|
|
|
|
|
{
|
|
|
|
|
// Département trouvé, modification du nombre de places
|
|
|
|
|
dept->nbP = nbP;
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
// Département non trouvé
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Ville non trouvée
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Affiche les IUT possédant un département spécifique.
|
|
|
|
|
*
|
|
|
|
|
* @param villeIut tableau de pointeurs sur les structures VilleIut
|
|
|
|
|
* @param nbVilles nombre de villes dans le tableau villeIut
|
|
|
|
|
* @param nomDept nom du département à rechercher
|
|
|
|
|
*/
|
|
|
|
|
void afficheIUTDept(VilleIut *villeIut, int nbVilles, char *nomDept)
|
|
|
|
|
{
|
|
|
|
|
int i;
|
|
|
|
|
for (i = 0; i < nbVilles; i++)
|
|
|
|
|
{
|
|
|
|
|
// Parcours de la liste chaînée de départements de la ville
|
|
|
|
|
MaillonDept *dept = villeIut[i].ldept;
|
|
|
|
|
while (dept != NULL)
|
|
|
|
|
{
|
|
|
|
|
if (strcmp(dept->nomDept, nomDept) == 0)
|
|
|
|
|
{
|
|
|
|
|
// Département trouvé, affichage de la ville
|
|
|
|
|
printf("IUT de %s\n", villeIut[i].nom);
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
dept = dept->suiv;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Affiche les villes qui ont des IUT.
|
|
|
|
|
*
|
|
|
|
|
* @param villeIut tableau de pointeurs sur les structures VilleIut
|
|
|
|
|
* @param nbVilles nombre de villes dans le tableau villeIut
|
|
|
|
|
*/
|
|
|
|
|
void afficheVillesIUT(VilleIut *villeIut, int nbVilles)
|
|
|
|
|
{
|
|
|
|
|
int i;
|
|
|
|
|
for (i = 0; i < nbVilles; i++)
|
|
|
|
|
{
|
|
|
|
|
// Affichage du nom de la ville
|
|
|
|
|
printf("%s\n", villeIut[i].nom);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Affiche et gère le menu administrateur.
|
|
|
|
|
*
|
|
|
|
|
* @param villeIut tableau de pointeurs sur les structures VilleIut
|
|
|
|
|
* @param nbVilles nombre de villes dans le tableau villeIut
|
|
|
|
|
*/
|
|
|
|
|
void menuAdmin(VilleIut *villeIut, int nbVilles)
|
|
|
|
|
{
|
|
|
|
|
int choix;
|
|
|
|
|
do
|
|
|
|
|
{
|
|
|
|
|
// Affichage du menu
|
|
|
|
|
printf("\nMenu administrateur:\n");
|
|
|
|
|
printf("1. Modifier le nombre de places d'un département\n");
|
|
|
|
|
printf("2. Créer un département dans un IUT\n");
|
|
|
|
|
printf("3. Supprimer un département d'un IUT\n");
|
|
|
|
|
printf("4. Lancer la phase de candidature\n");
|
|
|
|
|
printf("5. Arrêter la phase de candidature\n");
|
|
|
|
|
printf("6. Modifier le nom du responsable d'un département\n");
|
|
|
|
|
printf("7. Quitter\n");
|
|
|
|
|
printf("\nVotre choix: ");
|
|
|
|
|
|
|
|
|
|
// Saisie du choix de l'utilisateur
|
|
|
|
|
scanf("%d", &choix);
|
|
|
|
|
|
|
|
|
|
// Traitement du choix de l'utilisateur
|
|
|
|
|
switch (choix)
|
|
|
|
|
{
|
|
|
|
|
case 1:
|
|
|
|
|
// Modification du nombre de places d'un département
|
|
|
|
|
//modifiePlacesDept(villeIut, nbVilles);
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
// Création d'un département dans un IUT
|
|
|
|
|
//creeDeptIUT(villeIut, nbVilles);
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
// Suppression d'un département d'un IUT
|
|
|
|
|
//supprimeDeptIUT(villeIut, nbVilles);
|
|
|
|
|
break;
|
|
|
|
|
case 4:
|
|
|
|
|
// Lancement de la phase de candidature
|
|
|
|
|
//lanceCandidature();
|
|
|
|
|
break;
|
|
|
|
|
case 5:
|
|
|
|
|
// Arrêt de la phase de candidature
|
|
|
|
|
//arreteCandidature();
|
|
|
|
|
break;
|
|
|
|
|
case 6:
|
|
|
|
|
// Modification du nom du responsable d'un département
|
|
|
|
|
//modifieRespDept(villeIut, nbVilles);
|
|
|
|
|
break;
|
|
|
|
|
case 7:
|
|
|
|
|
// Quitter
|
|
|
|
|
//printf("Au revoir!\n");
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
// Choix non valide
|
|
|
|
|
//printf("Choix non valide.\n");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
} while (choix != 7);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Fonctions Jean PARTIE 2 :
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief Affiche les informations d'un candidat
|
|
|
|
|
* @param candidat Le candidat à afficher
|
|
|
|
|
*/
|
|
|
|
|
void afficherCandidat(Candidat candidat)
|
|
|
|
|
{
|
|
|
|
|
printf("Numéro du candidat : %d\n", candidat.numero);
|
|
|
|
|
printf("Nom : %s\n", candidat.nom);
|
|
|
|
|
printf("Prénom : %s\n", candidat.prenom);
|
|
|
|
|
printf("Notes : %.2f %.2f %.2f %.2f\n", candidat.notes[0], candidat.notes[1], candidat.notes[2], candidat.notes[3]);
|
|
|
|
|
printf("Nombre de choix : %d\n", candidat.nbChoix);
|
|
|
|
|
for (int i = 0; i < candidat.nbChoix; i++)
|
|
|
|
|
{
|
|
|
|
|
printf("Choix %d :\n", i + 1);
|
|
|
|
|
printf(" Ville : %s\n", candidat.choix[i].ville);
|
|
|
|
|
printf(" Département : %s\n", candidat.choix[i].departement);
|
|
|
|
|
printf(" Décision du département : %d\n", candidat.choix[i].decisionDepartement);
|
|
|
|
|
printf(" Validation : %d\n", candidat.choix[i].validationCandidat);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @brief Affiche la liste des candidats
|
|
|
|
|
*
|
|
|
|
|
* @param candidats Le tableau de candidats à afficher
|
|
|
|
|
* @param nbCandidats Le nombre de candidats dans le tableau
|
|
|
|
|
*/
|
|
|
|
|
void afficherCandidats(Candidat *candidats, int nbCandidats)
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < nbCandidats; i++)
|
|
|
|
|
{
|
|
|
|
|
printf("\nCandidat %d :\n", i + 1);
|
|
|
|
|
afficherCandidat(candidats[i]);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|