Code de Jean

master
Siwa12100 2 years ago
parent 520d248ff4
commit 9266d04879

@ -63,4 +63,39 @@ bool vide(ListeDept ldept);
int longueur(ListeDept ldept);
void afficherListe(ListeDept ldept);
// iut.c
// iut.c
//Proposition structure de candidat & choix pour la partie 2 ( jean ) :
typedef struct
{
char ville[50];
char departement[50];
int decisionDepartement;
int validationCandidat;
}Choix;
typedef struct
{
int numero;
char nom[50];
char prenom[50];
float notes[4];
int nbChoix;
Choix *choix;
}Candidat;
//Proposition de structure de candidature pour la Partie 3 ( jean ) :
typedef struct
{
int nbAdmis;
int noteMin;
PileCandidats *admis;
PileCandidats *attente;
}Candidature;
typedef struct PileCandidats
{
Candidat *candidat;
struct PileCandidats *suivant;
}PileCandidats;

@ -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]);
}
}

Loading…
Cancel
Save