You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

197 lines
11 KiB

PARTIE 1
Listdept initialisation(void);
VilleIUT lireVille(FILE *fe);
Listdept lireDept(FILE *fe, int nbIUT);
int chargeIUT(VilleIUT* tIUT[], int taillemax);
////////////////////////////////////
void affichageDep(Listdept d);
void affichageAllDep(Listdept d);
void affichageville(VilleIUT *tville[], int nbville);
void afficheVilleIUT(VilleIUT *tville[], int nbville);
void afficheDepartementsIUT(VilleIUT *tville[], int nbville);
void afficheDepNbPlace(VilleIUT *tville[], int nbville);
void afficheIUTdepParticulier(VilleIUT *tville[], int nbville);
Toutes ces fonctions d'affichage utilisent le tableau de pointeur tville et son nombre d'éléments.
/////////////////////////////////////
/////////////////////////////////////
int rechercheVille(VilleIUT *tville[], int nbville); La fonction retourne l'index de l'IUT cherché. -1 si pas trouvé
int chercheDepModif(Listdept d, char rechercheDep[31]); La fonction modifie directement le nombre de place avec le scanf si le département en paramètre est trouvé. Si cpt = 0, non trouvé.
void modifPlace(VilleIUT *tville[], int nbville); Cette fonction regroupe recherche ville et chercheDepModif
void modifNomResponsable(VilleIUT *tville[], int nbville);
//////////////////////////////////////
//////////////////////////////////////
Listdept ajoutDept(int posOptionnel, VilleIUT *tville[], int nbville); Si posOptionnel est à -1, cela veut dire que l'on ajoute un département à une ville existante, dans le cas contraire, on utilise ajoutDept dans la fonction ajoutIUT, afin d'y ajouter le premier département.
void ajoutIUT(VilleIUT *tIUT[], int *nbville, int taillemax);
Listdept suppressionDept(Listdept d, char rechercheDep[31]); Supprime un département, cette fonction est utilisée dans supprDepartement
void supprDepartement(VilleIUT *tville[], int* nbville); Demande la ville, puis le département à supprimer, et utilise la fonction suppressionDept.
//////////////////////////////////////
//////////////////////////////////////
void sauvegardeDep(Listdept d, FILE *fs); Cette fonction s'occupe d'écrire dans un fichier ce qui concerne les départements, elle est utilisée dans la fonction sauvegarde.
void sauvegarde(VilleIUT *tville[], int nbville); Sauvegarde une ville, puis utilise la fonction sauvegardeDep pour y inscrire son ou ses département(s).
//////////////////////////////////////
PARTIE 3
///////////////////////////////////////
DepartementVille* recupererEtudiantsDepartementVille(listetuinfo* etudiants[], int nbEtudiants, char* ville, char* dep); Cette fonction récupère les informations contenues dans le tableau de pointeurs listetuinfo. On crée une structure DepartementVille pour y mettre le nom et le département qui sont en paramètres, dans le tableau. En parcourant le tableau listetuinfo, on récupère ceux qui ont faire le voeu de Clermont en informatique.
float calculerMoyenne(listetuinfo etudiant); On calcule la moyenne de chaque étudiants qui sont dans le tableau DepartementVille, on l'utilise lorsque longe charge les étudiants dans le tableau.
void trierDepartementVille(DepartementVille* departementVille, int nbElements); Cette fonction utilise le tri à bulle en fonction des moyennes des étudiants, elle le fait de manière décroissante.
void comparerEtudiants(DepartementVille* departementVille, listetuinfo* etudiants, int nbPlaces); Cette fonction prend en compte le nombre de place qu'il y a dans le département, et met la décision des étudiants à 1 aux meilleurs étudiants tant que le nombre de place est suffisant, quand il n'y a plus de place décision = 2, et si la moyenne est < à 10, on met -1
void afficherDepartementVille(DepartementVille* departementVille) Affiche tous les étudiants qui ont été séléctionnés, en affichant leur données et les décisions.
///////////////////////////////////////
//Partie 2 mathéo thierry
/*
Dans cette patie j'ai utilisé un fichier text car il ne comporte pas beacoup de donnée,
nous permet de développer facilement et de pouvoir agir plus facilement si il y a des erreurs.
Mais dans la mesure ou le fichier est plus gros comme l'infrastructure uca par exemple il faudrait un fichier binaire pour plus de rapidité.
*/
// l'utilisation de tableau de pointeur et de liste en mémoire est plus pratique si les données s'accumules
// la recherche dicho est une recherche éfficace qui est pratique surtout pour un grand nombre de donnée
// comparé au recherche classique ou l'on passe tout le tableau pour trouver la donnée voulu
// dans le cadre de cette sae on peut remarquer l'utilisation de la recherche dicho pour les candidats et une recherche normal pour rechercher dans la liste de ville
// tableau de pointeur sur structure
listetuinfo *tetu[]
// structure qui pointe sur une liste
listetuinfo etu
// structure liste
Maillonchoix* carte
// tableau de pointeur sur structure
VilleIUT *tville[]
//tableau de pointeur sur structure
listetuinfo *tetutri[]
//focntions pour charger le tableau de donnée à l'aide d'un fichier candidature==============================================================================
//initialiser
Listchoixdept listvide(void)
//lire tout les cartes
Listchoixdept lireCarte(FILE *fe, int nbchoix)
//lire candidat
listetuinfo lireEtu(FILE *fe)
//boucle qui passe tout le fichier
int chargeretudiant(char nomFich[], listetuinfo *tetu[], int tmax)
//fonction de recherche dicho pour charcher un candidat à l'aide de son numéro================================================================================
int recherdicoetu(listetuinfo *tetu[], int nb, int num)
//fonctions pour enregistrer toutes les données des candidats et les candidature qui correspond===============================================================
//boucle pour les candidatures
void enregistrementcarte(FILE *fe, Maillonchoix* carte, int nb)
//candidat
void enregistrementinfo(FILE *fe, listetuinfo *etu)
//boucle qui passe tout le tableau de donnée
int enregistrementetudiants(char nomFich[], listetuinfo *tetu[], int nb)
//fonctions pour afficher tout les candidats et les cartes de candidature======================================================================================
//affichage des toutes les candidatures d'un candidat
void affichagecarte(Listchoixdept c)
//affichage d'un candidat
void affichageetu(listetuinfo a)
//boucle affichage de tout les candidats
void affichealletu(listetuinfo *tetu[], int nb)
//fonctions qui vérifie si le choix de département ce trouve dans les proposition d'une ville donnée===========================================================
//fonction qui cherche un département donnée dans la ville trouvé par la fonction juste dessous
int cherchelistcorrespond(MaillonDept* dep, char choixdep[])
//fonction qui cherche une correspondance pour une ville donnée dans la liste des villes
int correspondville(char choixville[], char choixdep[], VilleIUT *tville[], int nbville)
//focntion qui vérifié si notre recherche ville et dep ce trouve dans les cartes de candidature d'un candidat==================================================
int correspondcarte(char choixville[], char choixdep[], Listchoixdept carte)
//fonctions pour ajouter une carte de candidature d'un candidat================================================================================================
//fonction avec du text pour choisir qu'elle ville et departement nous voulons
void choix(VilleIUT *tville[], int nbville, char choixville[], char choixdep[])
//fonction qui ajoute en tete
Listchoixdept ajoutercarte(Maillonchoix* a, char choixville[], char choixdep[])
//fonction général qui utilise des fonctions de vérification et ajoute si tout est bon
listetuinfo allajoutprocess(VilleIUT *tville[], listetuinfo etu, int nbville)
//fonctions pour modifier une carte de candidature d'un candidat===============================================================================================
//fonction avec du text pour choisir qu'elle ville et département nous voulons (à noter: la vérification est différente de choix())
void choix2(Listchoixdept lcarte, char choixville[], char choixdep[])
//fonction avec du text pour choisir par qu'elle département nous voulons remplacer le choix2 fait
void fchoixdep(char choixville[], char choixdep[], VilleIUT *tville[], int nbville)
//fonction qui viens appliquer le fchoixdep fait dans notre liste de candidature
Listchoixdept choixmodifcarte(Listchoixdept dep, char choixville[], char choixdep[], VilleIUT *tville[], int nbville)
//affichage uniquement des départements d'une ville
void affichagedep(MaillonDept* carte)
//affichage unique d'une ville et affiche les deps à l'aide de affichagedep
void affichervillechoix(VilleIUT *villechoix)
//fonction qui vérifie le choix de la ville dans la liste des villes
int correspondvilleonly(char choixville[], VilleIUT *ville[], int nbville)
//fonction général qui utilise des fonctions de vérification et modifie si tout est bon
void modificationcarte(listetuinfo etu, VilleIUT *tville[], int nbville)
//ficntions pour supprimer une carte candidature d'un candidat=================================================================================================
//fonction de suppression avec le free
Maillonchoix* supp(Listchoixdept carte)
//fonction qui cher la correspondance dans notre liste de candidature du choix2 fait et le supp
Maillonchoix* suppressioncartechoix(char choixville[], char choixdep[], Listchoixdept carte)
//fonction général qui utilise des fonctions de vérification et supp si tout est bon
void suppcarte(listetuinfo etu)
//Partie 4 mathéo thierry
//affichage qui montre uniquement les résultats d'admission====================================================================================================
void affichagedepresultat(Maillonchoix* carte, int *suite)
//fonction qui change toutes les données pour valider et refuser les autres inscriptions=======================================================================
void validation(char choixville[], char choixdep[], Maillonchoix* carte, int *ok)
//affichage d'un seul étudiant=================================================================================================================================
void afficheroneetu(listetuinfo *tetu[], char choixnom[], char choixprenom[], int nbEtu)
//fonction pour faire le tri du deuxieme tableau de donnée=====================================================================================================
//fonction qui permute de place deux candidat
void Permute (listetuinfo *tetutri[], int r1, int r2)
//fonction qui chercher le candidat avec le nom le plus petit -> l'alphabétique
int recherchemin(listetuinfo *tetutri[], int nbEtu, int i)
//boucle qui passe tout les candidats du tableau et les permutes
void triertetu (listetuinfo *tetutri[], int nbEtu)