modif de blabla

master
Khena BRUNEAU 2 years ago
commit 5212a5a2e2

@ -0,0 +1,4 @@
{
"files.autoSaveDelay": 1000,
"files.autoSave": "afterDelay"
}

@ -1,4 +1,5 @@
import random import random
import string
# Ouverture du fichier en mode écriture # Ouverture du fichier en mode écriture
with open("resultats.txt", "w") as f: with open("resultats.txt", "w") as f:
@ -7,8 +8,9 @@ with open("resultats.txt", "w") as f:
# Génération de données aléatoires pour chaque candidat # Génération de données aléatoires pour chaque candidat
for i in range(1, 100): for i in range(1, 100):
nom = "Nom" + str(i) nom = ''.join(random.choices(string.ascii_lowercase, k=20))
prenom = "Prenom" + str(i) nom = nom.capitalize()
prenom = ''.join(random.choices(string.ascii_lowercase, k=20))
note_maths = str(random.randint(0, 20)) note_maths = str(random.randint(0, 20))
note_francais = str(random.randint(0, 20)) note_francais = str(random.randint(0, 20))
note_anglais = str(random.randint(0, 20)) note_anglais = str(random.randint(0, 20))
@ -20,26 +22,19 @@ with open("resultats.txt", "w") as f:
departement3 = "Departement" + str(random.randint(1, 20)) departement3 = "Departement" + str(random.randint(1, 20))
departement4 = "Departement" + str(random.randint(1, 20)) departement4 = "Departement" + str(random.randint(1, 20))
departement5 = "Departement" + str(random.randint(1, 20)) departement5 = "Departement" + str(random.randint(1, 20))
decision1 = str(random.randint(-1, 1)) departement1 != departement2 != departement3 != departement4 != departement5
decision2 = str(random.randint(-1, 1)) decision = "0"
decision3 = str(random.randint(-1, 1)) validation = "0"
decision4 = str(random.randint(-1, 1))
decision5 = str(random.randint(-1, 1))
validation1 = str(random.randint(0, 1))
validation2 = str(random.randint(0, 1))
validation3 = str(random.randint(0, 1))
validation4 = str(random.randint(0, 1))
validation5 = str(random.randint(0, 1))
#f.write(str(i) + "\t" + nom + "\t" + prenom + "\t" + note_maths + "\t" + note_francais + "\t" + note_anglais + "\t" + note_specialite + "\t" + nb_choix + "\t" + ville + "\t" + departement + "\t" + decision + "\t" + validation + "\n" ) #f.write(str(i) + "\t" + nom + "\t" + prenom + "\t" + note_maths + "\t" + note_francais + "\t" + note_anglais + "\t" + note_specialite + "\t" + nb_choix + "\t" + ville + "\t" + departement + "\t" + decision + "\t" + validation + "\n" )
# Écriture des données dans le fichier, séparées par des points-virgules # Écriture des données dans le fichier, séparées par des points-virgules
if nb_choix == "1": if nb_choix == "1":
f.write(str(i) + "\t" + nom + "\t" + prenom + "\t" + note_maths + "\t" + note_francais + "\t" + note_anglais + "\t" + note_specialite + "\t" + nb_choix + "\t" + ville + "\t" + departement1 + "\t" + decision1 + "\t" + validation1 + "\n") f.write(str(i) + "\t" + nom + "\t" + prenom + "\t" + note_maths + "\t" + note_francais + "\t" + note_anglais + "\t" + note_specialite + "\t" + nb_choix + "\t" + ville + "\t" + departement1 + "\t" + decision + "\t" + validation + "\n")
elif nb_choix == "2": elif nb_choix == "2":
f.write(str(i) + "\t" + nom + "\t" + prenom + "\t" + note_maths + "\t" + note_francais + "\t" + note_anglais + "\t" + note_specialite + "\t" + nb_choix + "\t" + ville + "\t" + departement1 + "\t" + decision1 + "\t" + validation1 + "\t" + ville + "\t" + departement2 + "\t" + decision2 + "\t" + validation2 + "\n") f.write(str(i) + "\t" + nom + "\t" + prenom + "\t" + note_maths + "\t" + note_francais + "\t" + note_anglais + "\t" + note_specialite + "\t" + nb_choix + "\t" + ville + "\t" + departement1 + "\t" + decision + "\t" + validation + "\t" + ville + "\t" + departement2 + "\t" + decision + "\t" + validation + "\n")
elif nb_choix == "3": elif nb_choix == "3":
f.write(str(i) + "\t" + nom + "\t" + prenom + "\t" + note_maths + "\t" + note_francais + "\t" + note_anglais + "\t" + note_specialite + "\t" + nb_choix + "\t" + ville + "\t" + departement1 + "\t" + decision1 + "\t" + validation1 + "\t" + ville + "\t" + departement2 + "\t" + decision2 + "\t" + validation2 + "\t" + ville + "\t" + departement3 + "\t" + decision3 + "\t" + validation3 + "\n") f.write(str(i) + "\t" + nom + "\t" + prenom + "\t" + note_maths + "\t" + note_francais + "\t" + note_anglais + "\t" + note_specialite + "\t" + nb_choix + "\t" + ville + "\t" + departement1 + "\t" + decision + "\t" + validation + "\t" + ville + "\t" + departement2 + "\t" + decision + "\t" + validation + "\t" + ville + "\t" + departement3 + "\t" + decision + "\t" + validation + "\n")
elif nb_choix == "4": elif nb_choix == "4":
f.write(str(i) + "\t" + nom + "\t" + prenom + "\t" + note_maths + "\t" + note_francais + "\t" + note_anglais + "\t" + note_specialite + "\t" + nb_choix + "\t" + ville + "\t" + departement1 + "\t" + decision1 + "\t" + validation1 + "\t" + ville + "\t" + departement2 + "\t" + decision2 + "\t" + validation2 + "\t" + ville + "\t" + departement3 + "\t" + decision3 + "\t" + validation3 + "\t" + ville + "\t" + departement4 + "\t" + decision4 + "\t" + validation4 + "\n") f.write(str(i) + "\t" + nom + "\t" + prenom + "\t" + note_maths + "\t" + note_francais + "\t" + note_anglais + "\t" + note_specialite + "\t" + nb_choix + "\t" + ville + "\t" + departement1 + "\t" + decision + "\t" + validation + "\t" + ville + "\t" + departement2 + "\t" + decision + "\t" + validation + "\t" + ville + "\t" + departement3 + "\t" + decision + "\t" + validation + "\t" + ville + "\t" + departement4 + "\t" + decision + "\t" + validation + "\n")
elif nb_choix == "5": elif nb_choix == "5":
f.write(str(i) + "\t" + nom + "\t" + prenom + "\t" + note_maths + "\t" + note_francais + "\t" + note_anglais + "\t" + note_specialite + "\t" + nb_choix + "\t" + ville + "\t" + departement1 + "\t" + decision1 + "\t" + validation1 + "\t" + ville + "\t" + departement2 + "\t" + decision2 + "\t" + validation2 + "\t" + ville + "\t" + departement3 + "\t" + decision3 + "\t" + validation3 + "\t" + ville + "\t" + departement4 + "\t" + decision4 + "\t" + validation4 + "\t" + ville + "\t" + departement5 + "\t" + decision5 + "\t" + validation5 + "\n") f.write(str(i) + "\t" + nom + "\t" + prenom + "\t" + note_maths + "\t" + note_francais + "\t" + note_anglais + "\t" + note_specialite + "\t" + nb_choix + "\t" + ville + "\t" + departement1 + "\t" + decision + "\t" + validation + "\t" + ville + "\t" + departement2 + "\t" + decision + "\t" + validation + "\t" + ville + "\t" + departement3 + "\t" + decision + "\t" + validation + "\t" + ville + "\t" + departement4 + "\t" + decision + "\t" + validation + "\t" + ville + "\t" + departement5 + "\t" + decision + "\t" + validation + "\n")

Binary file not shown.

@ -1,4 +0,0 @@
Grenoble Informatique 112 Dupont Jean
Clermont-Ferrand Informatique 136 Simon Carine
Aurillac Bio-Informatique 56 Ayoub Milaki
Clermont-Ferrand Biologie 120 Coralie Elebone

@ -1,8 +0,0 @@
#include <stdio.h>
#include <string.h>
#include "../structures/structures.h"
#include <stdbool.h>
void choixMenu(void);
void menuUtilisateur(void);
void menuAdministrateur(void);

@ -1,7 +0,0 @@
#include "partie1.h"
int main(void)
{
choixMenu();
return 0;
}

Binary file not shown.

@ -35,7 +35,11 @@ void affichageT(Liste l)
void affichage1(Candidat c) void affichage1(Candidat c)
/*affiche les informations d'un candidat*/ /*affiche les informations d'un candidat*/
{ {
<<<<<<< HEAD
printf("%d \t%s \t%s\n", c.numC, c.prenom, c.nom); printf("%d \t%s \t%s\n", c.numC, c.prenom, c.nom);
=======
printf("%d \t%s\n", c.numC, c.prenom);
>>>>>>> da798d175361ad41eae45376654f22a314f7aa87
} }
Liste inscription(Liste lCand, int nbInsc) Liste inscription(Liste lCand, int nbInsc)

@ -1,28 +0,0 @@
#include "../SAE.h"
int modifNoteMinAdmis()
{
int noteMaths, noteFrançais, noteAnglais, noteSpe;
printf("Entrez la nouvelle note minimale d'admission en maths : ");
scanf("%d", &noteMaths);
printf("Entrez la nouvelle note minimale d'admission en français : ");
scanf("%d", &noteFrançais);
printf("Entrez la nouvelle note minimale d'admission en anglais : ");
scanf("%d", &noteAnglais);
printf("Entrez la nouvelle note minimale d'admission en spécialité : ");
scanf("%d", &noteSpe);
}
modifNbAdmisMax()
{
int nbAdmisMax;
printf("Entrez le nouveau nombre d'admis maximum : ");
scanf("%d", &nbAdmisMax);
return nbAdmisMax;
}

@ -1,7 +0,0 @@
#include "../SAE.h"
int main(void)
{
global();
return 0;
}

@ -1,2 +1 @@
# SAE1.02-Structure_de_Donnees # SAE1.02-Structure_de_Donnees

98
SAE.h

@ -2,4 +2,102 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <stdbool.h> #include <stdbool.h>
#include "structures.h"
/* Menus */
void choixMenu(void);
void menuUtilisateur(void);
void menuAdministrateur(void);
/* Partie 1 */
ListeDept listenouv(void);
ListeDept insererEnTete(ListeDept l, char departement[], int nbP, char resp[]);
ListeDept inserer(ListeDept l, char departement[], int nbP, char resp[]);
void afficher(ListeDept l);
bool vide(ListeDept l);
void afficherDept(ListeDept l);
int rechercheDept(ListeDept l, char departement[], bool *trouve);
ListeDept supprimerEnTete(ListeDept l);
ListeDept supprimer(ListeDept l, char departement[]);
int getNbP(ListeDept l, int pos);
void setNbP(ListeDept l, int pos, int valeur);
char* getResp(ListeDept l, int pos);
void setResp(ListeDept l, int pos, char valeur[]);
char* getDept(ListeDept l, int pos);
void setResp(ListeDept l, int pos, char valeur[]);
/* Fichier */
int chargementVillesIUT(VilleIUT *tiut[]);
int rechercheVille(VilleIUT *tiut[], int nb, char val[], bool *trouve);
void sauvegarde(VilleIUT *tiut[], int nb);
/* Utilisateur */
void affichageVillesIUT(VilleIUT *tiut[], int nb);
void affichageDeptIUT(VilleIUT *tiut[], int nb);
/* Administrateur */
void modificationNbPDept(VilleIUT *tiut[], int nb);
void creationDept(VilleIUT *tiut[], int nb);
int suppressionDept(VilleIUT *tiut[], int nb);
void modificationRespDept(VilleIUT *tiut[], int nb);
// Partie 3
// Liste Admission
ListeAdmission listenouvAdm(void);
ListeAdmission insererEnTeteAdm(ListeAdmission la, Admission candidat);
ListeAdmission insererAdm(ListeAdmission la, Admission candidat);
void afficherAdm(ListeAdmission la);
bool videAdm(ListeAdmission la);
ListeAdmission supprimerEnTeteAdm(ListeAdmission la);
ListeAdmission supprimerAdm(ListeAdmission la, Admission candidat);
bool rechercheAdm(ListeAdmission la, Admission candidat);
int TeteAdm(ListeAdmission la);
int longueurAdm(ListeAdmission la);
void afficherCandidatsAdm(Admission candidat);
// Liste Departement
ListeDepartement listenouvDpt(void);
ListeDepartement insererEnTeteDpt(ListeDepartement ld, Departement dpt);
ListeDepartement insererDpt(ListeDepartement ld, Departement dpt);
ListeDepartement supprimerEnTeteDpt(ListeDepartement ld);
ListeDepartement supprimerDpt(ListeDepartement ld, Departement dpt);
bool rechercheDpt(ListeDepartement ld, Departement dpt);
int TeteDpt(ListeDepartement ld);
bool videDpt(ListeDepartement ld);
void afficherDpt(ListeDepartement ld);
void afficherDepartement(Departement dpt);
int longueurDpt(ListeDepartement ld);
/*
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
int ConnexionUtilisateur(char *login, char *mdp);
ListeUtilisateurs chargerUtilisateurs(char *ficUtilisateurs, ListeUtilisateurs Utilisateurs);
Utilisateur lireUtilisateur(FILE *flot);
void afficherUtilisateur(Utilisateur utilisateur);
void afficherUtilisateurs(ListeUtilisateurs listeUtilisateurs);
ListeUtilisateurs insererUtilisateur(ListeUtilisateurs listeUtilisateurs, Utilisateur utilisateur);
ListeUtilisateurs supprimerUtilisateur(ListeUtilisateurs listeUtilisateurs, char *nomUtilisateur);
int videUtilisateurs(ListeUtilisateurs listeUtilisateurs);
void sauveUtilisateurs(char *ficUtilisateurs, ListeUtilisateurs listeUtilisateurs);
int rechercherUtilisateur(ListeUtilisateurs listeUtilisateurs, char *nomUtilisateur);
int supprimerUtilisateur(ListeUtilisateurs listeUtilisateurs, char *nomUtilisateur);
int menuUtilisateur(ListeUtilisateurs listeUtilisateurs);
void global(void);*/

@ -0,0 +1,17 @@
#include "SAE.h"
int main(void)
{
int nbVilles;
VilleIUT *tiut[100];
nbVilles = chargementVillesIUT(tiut);
// affichageVillesIUT(tiut, nbVilles);
affichageDeptIUT(tiut, nbVilles);
// modificationNbPDept(tiut, nbVilles);
// creationDept(tiut, nbVilles);
// nbVilles = suppressionDept(tiut, nbVilles);
//modificationRespDept(tiut, nbVilles);
//affichageDeptIUT(tiut, nbVilles);
sauvegarde(tiut, nbVilles);
return 0;
}

@ -0,0 +1,133 @@
#include "SAE.h"
void modificationNbPDept(VilleIUT *tiut[], int nb)
{
char iutModif[30], deptModif[30];
int posIUT, posDept, nbPlaces;
bool trouve;
printf("Dans quel IUT se situe le département que vous voulez modifier ?\n> ");
scanf("%s", iutModif);
posIUT = rechercheVille(tiut, nb, iutModif, &trouve);
if (trouve == false)
{
printf("Cet IUT n'existe pas. Veuillez réessayer.\n");
return;
}
printf("Quel est le département dont vous voulez modifier le nombre de places ?\n> ");
scanf("%s", deptModif);
posDept = rechercheDept(tiut[posIUT]->ldept, deptModif, &trouve);
if (trouve == false)
{
printf("Ce département n'existe pas dans cet IUT. Veuillez réessayer.\n");
return;
}
printf("Il y a actuellement %d places dans ce département. Entrez le nouveau nombre de places :\n> ", getNbP(tiut[posIUT]->ldept, posDept));
scanf("%d", &nbPlaces);
setNbP(tiut[posIUT]->ldept, posDept, nbPlaces);
printf("Le nombre de places est bien passé à %d.\n", getNbP(tiut[posIUT]->ldept, posDept));
}
void creationDept(VilleIUT *tiut[], int nb)
{
char iut[30], nomDept[30], nomResp[30];
int posIUT, nbP;
bool trouve;
printf("Dans quel IUT voulez-vous créer un département ?\n> ");
scanf("%s", iut);
posIUT = rechercheVille(tiut, nb, iut, &trouve);
if (trouve == false)
{
printf("Cet IUT n'existe pas. Veuillez réessayer.\n");
return;
}
printf("Entrez le nom du département que vous voulez créer :\n> ");
scanf("%s", nomDept);
rechercheDept(tiut[posIUT]->ldept, nomDept, &trouve);
if (trouve == true)
{
printf("Ce département existe déjà.\n");
return;
}
printf("Entrez le nombre de places dans le département :\n> ");
scanf("%d%*c", &nbP);
printf("Entrez le nom du responsable :\n> ");
fgets(nomResp, 30, stdin);
nomResp[strlen(nomResp) - 1] = '\0';
tiut[posIUT]->ldept = inserer(tiut[posIUT]->ldept, nomDept, nbP, nomResp);
printf("Vous avez créé le département \"%s\", avec %d places. Son responsable est %s.\n", nomDept, nbP, nomResp);
}
int suppressionDept(VilleIUT *tiut[], int nb)
{
char nomDept[30], iut[30], choix;
int posIUT, posDept;
bool trouve;
printf("Dans quel IUT voulez-vous supprimer un département ?\n> ");
scanf("%s", iut);
posIUT = rechercheVille(tiut, nb, iut, &trouve);
if (trouve == false)
{
printf("Cet IUT n'existe pas. Veuillez réessayer.\n");
return nb;
}
printf("Quel département voulez-vous supprimer ?\n> ");
scanf("%s", nomDept);
posDept = rechercheDept(tiut[posIUT]->ldept, nomDept, &trouve);
if (trouve == false)
{
printf("Ce département n'existe pas dans cet IUT. Veuillez réessayer.\n");
return nb;
}
printf("Voulez-vous vraiment supprimer le département %s de l'IUT %s ? (o/N)\n> ", nomDept, iut);
scanf(" %c%*c", &choix);
if (choix == 'o' || choix == 'O')
{
tiut[posIUT]->ldept = supprimer(tiut[posIUT]->ldept, nomDept);
printf("Vous avez bien supprimé le département %s de l'IUT %s.\n", nomDept, iut);
if (vide(tiut[posIUT]->ldept))
{
for (int i = posIUT; i < nb; i++)
{
tiut[i] = tiut[i + 1];
}
free(tiut[nb]);
printf("L'IUT %s a été supprimé car il n'avait plus de départements.\n", iut);
return nb - 1;
}
}
else
{
printf("Vous avez annulé la suppression du département.\n");
}
return nb;
}
void modificationRespDept(VilleIUT *tiut[], int nb)
{
char iutModif[30], deptModif[30], nouvResp[30];
int posIUT, posDept;
bool trouve;
printf("Dans quel IUT se situe le département que vous voulez modifier ?\n> ");
scanf("%s", iutModif);
posIUT = rechercheVille(tiut, nb, iutModif, &trouve);
if (trouve == false)
{
printf("Cet IUT n'existe pas. Veuillez réessayer.\n");
return;
}
printf("Quel est le département dont vous voulez modifier le responsable ?\n> ");
scanf("%s%*c", deptModif);
posDept = rechercheDept(tiut[posIUT]->ldept, deptModif, &trouve);
if (trouve == false)
{
printf("Ce département n'existe pas dans cet IUT. Veuillez réessayer.\n");
return;
}
printf("Le responsable de ce département est actuellement %s. Entrez le nouveau responsable :\n> ", getResp(tiut[posIUT]->ldept, posDept));
fgets(nouvResp, 30, stdin);
nouvResp[strlen(nouvResp) - 1] = '\0';
setResp(tiut[posIUT]->ldept, posDept, nouvResp);
printf("Le nouveau responsable est %s.\n", getResp(tiut[posIUT]->ldept, posDept));
}

@ -1,26 +0,0 @@
0000000001 Mozert Adrien 12 14 11 12 1 Clermont Infos 0
0000000002 Bernard Dimitri 18 16 13 14 2 Aurillac Art 1 0 Vichy Biologie 2
0000000003 Bertrand Mathis 16 15 16 13 3 Brioude Argriculture 0 Lyon Agronomie 0
0000000004 Lefebvre Pierre 15 14 15 14 4 Clermont Informatique 0 Vichy Mathématiques 0
34061 /* nombre de candidats */
1 /* numéro du candidat*/
Durand /* nom du candidat*/
Jean Jaques /*prénom du candidat */
15,75 12,25 9,5 17,00 /* liste des notes */
3 /* nombre de choix */
Clermont-Ferrand /* ville choisie */
Informatique /* département */
0 /* décision du département : Admis/Liste dattente/Refusé*/
0 /* validation du candidat */
Grenoble
Informatique
0
0
Aurillac
Bio-Informatique
0
0
0000000005 Durand Jean Jaques 15,75 12,25 9,5 17,00 5 Clermont Informatique 0 Grenoble Informatique 0
0000000006 Dupont Jean Pierre 16,5 14,5 12,5 15,5 6 Clermont Informatique 0 Grenoble Informatique 0
0000000007 Martin Jean Paul 17,5 15,5 13,5 16,5 7 Clermont Informatique 0 Grenoble Informatique 0
0000000008 Lefebvre Jean Paul 15,5 13,5 11,5 14,5 8 Clermont Informatique 0 Grenoble Informatique 0

@ -0,0 +1,232 @@
/*#include "SAE.h"
int ConnexionUtilisateur(void)
{
char nomUtilisateur[9], motDePasse[11], typeUtilisateur[9];
printf("Veuillez entrer votre nom d'utilisateur : ");
scanf("%s", &nomUtilisateur);
while(strlen(nomUtilisateur) != 8)
{
printf("Nom d'utilisateur incorrect. Veuillez recommencer : ");
scanf("%s", &nomUtilisateur);
}
printf("Veuillez entrer votre mot de passe : ");
system("stty -echo");
scanf("%s", &motDePasse);
system("stty echo");
while(strlen(motDePasse) != 10)
{
printf("Mot de passe incorrect. Veuillez recommencer : ");
system("stty -echo");
scanf("%s", &motDePasse);
system("stty echo");
}
printf("Connexion réussie en tant qu%s!\n", typeUtilisateur);
if(typeUtilisateur == "Admin")
{
return 1;
}
else if(typeUtilisateur == "RespAdm")
{
return 2;
}
else if(typeUtilisateur == "RespDept")
{
return 3;
}
}
ListeUtilisateurs chargeUtilisateurs(char *ficUtilisateurs, ListeUtilisateurs Utilisateurs)
{
FILE *flot;
Utilisateur utilisateur;
flot = fopen(ficUtilisateurs, "rb");
if(flot == NULL)
{
printf("Erreur lors de l'ouverture du fichier %s\n", ficUtilisateurs);
return 0;
}
utilisateur = lireUtilisateur(flot);
while(!feof(flot))
{
Utilisateurs = insererUtilisateur(Utilisateurs, utilisateur);
utilisateur = lireUtilisateur(flot);
}
fclose(flot);
return Utilisateur;
}
Utilisateur lireUtilisateur(FILE *flot)
{
Utilisateur utilisateur;
fread(&utilisateur, sizeof(Utilisateur), 1, flot);
return utilisateur;
}
void afficherUtilisateur(Utilisateur utilisateur)
{
printf("%s\t%s\n", utilisateur.nomUtilisateur, utilisateur.motDePasse);
}
void afficherUtilisateurs(ListeUtilisateurs Utilisateurs)
{
while(! videUtilisateurs(Utilisateurs))
{
afficherUtilisateur(Utilisateurs->utilisateur);
Utilisateurs = Utilisateurs->suiv;
}
printf("\n");
}
ListeUtilisateurs insererUtilisateur(ListeUtilisateurs Utilisateurs, Utilisateur utilisateur)
{
ListeUtilisateurs p;
p = (ListeUtilisateurs)malloc(sizeof(MaillonUtilisateur));
if(p == NULL)
{
printf("Opérations interdites !!!!\n");
exit(1);
}
p->utilisateur = utilisateur;
p->suiv = Utilisateurs;
return p;
}
ListeUtilisateurs supprimerUtilisateur(ListeUtilisateurs Utilisateurs, char *nomUtilisateur)
{
ListeUtilisateurs p, q;
if(videUtilisateurs(Utilisateurs))
{
printf("Opérations interdites !!!!\n");
exit(1);
}
if(strcmp(Utilisateurs->utilisateur.nomUtilisateur, nomUtilisateur) == 0)
{
p = Utilisateurs;
Utilisateurs = Utilisateurs->suiv;
free(p);
return Utilisateurs;
}
q = Utilisateurs;
p = Utilisateurs->suiv;
while(p != NULL && strcmp(p->utilisateur.nomUtilisateur, nomUtilisateur) != 0)
{
q = p;
p = p->suiv;
}
if(p == NULL)
{
printf("Opérations interdites !!!!\n");
exit(1);
}
q->suiv = p->suiv;
free(p);
return Utilisateurs;
}
int videUtilisateurs(ListeUtilisateurs Utilisateurs)
{
return Utilisateurs == NULL;
}
void sauveUtilisateurs(char *ficUtilisateurs, ListeUtilisateurs Utilisateurs)
{
FILE *flot;
flot = fopen(ficUtilisateurs, "wb");
if(flot == NULL)
{
printf("Erreur lors de l'ouverture du fichier %s\n", ficUtilisateurs);
return;
}
fprintf(flot, "%d\n", nbUtilisateurs);
while(! videUtilisateurs(Utilisateurs))
{
fwrite(&Utilisateurs->utilisateur, sizeof(Utilisateur), 1, flot);
Utilisateurs = Utilisateurs->suiv;
}
fclose(flot);
}
int rechercheUtilisateur(ListeUtilisateurs Utilisateurs, char *nomUtilisateur)
{
while(! videUtilisateurs(Utilisateurs))
{
if(strcmp(Utilisateurs->utilisateur.nomUtilisateur, nomUtilisateur) == 0)
{
return 1;
}
Utilisateurs = Utilisateurs->suiv;
}
return 0;
}
int supprimerUtilisateur(ListeUtilisateurs Utilisateurs, char *nomUtilisateur)
{
ListeUtilisateurs p, q;
if(videUtilisateurs(Utilisateurs))
{
printf("Opérations interdites !!!!\n");
exit(1);
}
if(strcmp(Utilisateurs->utilisateur.nomUtilisateur, nomUtilisateur) == 0)
{
p = Utilisateurs;
Utilisateurs = Utilisateurs->suiv;
free(p);
return 1;
}
q = Utilisateurs;
p = Utilisateurs->suiv;
while(p != NULL && strcmp(p->utilisateur.nomUtilisateur, nomUtilisateur) != 0)
{
q = p;
p = p->suiv;
}
if(p == NULL)
{
return 0;
}
q->suiv = p->suiv;
free(p);
return 1;
}
int menuUtilisateurs(ListeUtilisateurs Utilisateurs)
{
int choix;
printf("1. Ajouter un utilisateur\n");
printf("2. Supprimer un utilisateur\n");
printf("3. Afficher la liste des utilisateurs\n");
printf("4. Quitter\n");
printf("Votre choix : ");
scanf("%d", &choix);
return choix;
}
void global()
{
ListeUtilisateurs Utilisateurs;
Utilisateurs = chargerUtilisateurs("utilisateurs.bin");
menuUtilisateurs(Utilisateurs);
while(choix != 4)
{
if(choix == 1)
{
ajouterUtilisateur(Utilisateurs);
}
elseif(choix == 2)
{
supprimerUtilisateur(Utilisateurs);
}
elseif(choix == 3)
{
afficherUtilisateurs(Utilisateurs);
}
else
{
printf("choix impossible\n");
}
menuUtilisateurs(Utilisateurs);
}
sauveUtilisateurs("utilisateurs.bin", Utilisateurs);
}*/

BIN
exe

Binary file not shown.

@ -0,0 +1,6 @@
#include "SAE.h"
void global(void)
{
}

@ -1,42 +0,0 @@
#include "../SAE.h"
void global(void)
{
}
int ConnexionUtilisateur(void)
{
char nomUtilisateur[9], motDePasse[11], typeUtilisateur[9];
printf("Veuillez entrer votre nom d'utilisateur : ");
scanf("%s", &nomUtilisateur);
while(strlen(nomUtilisateur) != 8)
{
printf("Nom d'utilisateur incorrect. Veuillez recommencer : ");
scanf("%s", &nomUtilisateur);
}
printf("Veuillez entrer votre mot de passe : ");
system("stty -echo");
scanf("%s", &motDePasse);
system("stty echo");
while(strlen(motDePasse) != 10)
{
printf("Mot de passe incorrect. Veuillez recommencer : ");
system("stty -echo");
scanf("%s", &motDePasse);
system("stty echo");
}
printf("Connexion réussie en tant qu%s!\n", typeUtilisateur);
if(typeUtilisateur == "Admin")
{
return 1;
}
else if(typeUtilisateur == "RespAdm")
{
return 2;
}
else if(typeUtilisateur == "RespDept")
{
return 3;
}
}

@ -1,12 +0,0 @@
#include "../SAE.h"
int MenuRespAdminDept(void)
{
int choix;
printf("\nMenu des Responsables d'Admission des Candidatures\n");
printf("1. Modifier la note minimum des refus\n");
printf("2. Modifier le nombre d'admis max");
printf("3. Trier la liste d'attente");
scanf("%d", &choix);
return choix;
}

@ -0,0 +1,4 @@
Grenoble Informatique 112 Dupont Jean
Clermont-Ferrand Biologie 120 Coralie Elebon
Clermont-Ferrand Informatique 136 Simon Carine
Aurillac Bio-Informatique 56 Ayoub Milaki

@ -1,4 +1,4 @@
#include "partie1.h" #include "SAE.h"
void choixMenu(void) void choixMenu(void)
{ {
@ -11,7 +11,7 @@ void choixMenu(void)
printf("\t1 - Menu utilisateur\n"); printf("\t1 - Menu utilisateur\n");
printf("\t2 - Menu administrateur\n"); printf("\t2 - Menu administrateur\n");
printf("\t9 - Quitter\n"); printf("\t9 - Quitter\n");
printf("\nChoix : "); printf("\nEntrez votre choix :\n> ");
scanf("%d", &choix); scanf("%d", &choix);
switch (choix) switch (choix)
{ {
@ -45,17 +45,18 @@ void menuUtilisateur(void)
printf("\t2 - Voir les départements dans chaque IUT\n"); printf("\t2 - Voir les départements dans chaque IUT\n");
printf("\t3 - Voir le nombre de places en première année\n"); printf("\t3 - Voir le nombre de places en première année\n");
printf("\t4 - Voir les IUT possédant un département particulier\n"); printf("\t4 - Voir les IUT possédant un département particulier\n");
printf("\nChoix : "); printf("\t9 - Quitter\n");
printf("\nEntrez votre choix :\n> ");
scanf("%d", &choix); scanf("%d", &choix);
switch (choix) switch (choix)
{ {
case 1: case 1:
c = true; c = true;
// // affichageVillesIUT(VilleIUT *tiut[], int nb);
break; break;
case 2: case 2:
c = true; c = true;
// // affichageDeptIUT(VilleIUT *tiut[], int nb);
break; break;
case 3: case 3:
c = true; c = true;
@ -67,7 +68,7 @@ void menuUtilisateur(void)
break; break;
case 9: case 9:
c = true; c = true;
break; return choixMenu();
default: default:
printf("Option non reconnue. Veuillez recommencer.\n"); printf("Option non reconnue. Veuillez recommencer.\n");
break; break;
@ -86,28 +87,29 @@ void menuAdministrateur(void)
printf("\t1 - Modifier le nombre de places dans un département\n"); printf("\t1 - Modifier le nombre de places dans un département\n");
printf("\t2 - Créer un département dans un IUT\n"); printf("\t2 - Créer un département dans un IUT\n");
printf("\t3 - Supprimer un département d'un IUT\n"); printf("\t3 - Supprimer un département d'un IUT\n");
printf("\t4 - Lancer la phase de candidature\n"); printf("\t4 - Modifier le responsable d'un département\n");
printf("\t5 - Stopper la phase de candidature\n"); printf("\t5 - Lancer la phase de candidature\n");
printf("\t6 - Modifier le responsable d'un département\n"); printf("\t6 - Stopper la phase de candidature\n");
printf("\nChoix : "); printf("\t9 - Quitter\n");
printf("\nEntrez votre choix :\n> ");
scanf("%d", &choix); scanf("%d", &choix);
switch (choix) switch (choix)
{ {
case 1: case 1:
c = true; c = true;
// // modificationNbPDept(tiut, nb);
break; break;
case 2: case 2:
c = true; c = true;
// // creationDept(tiut[], nb);
break; break;
case 3: case 3:
c = true; c = true;
// // suppressionDept(tiut[], nb);
break; break;
case 4: case 4:
c = true; c = true;
// // modificationRespDept(tiut, nb);
break; break;
case 5: case 5:
c = true; c = true;
@ -118,7 +120,7 @@ void menuAdministrateur(void)
// //
break; break;
case 9: case 9:
c = true; return choixMenu();
break; break;
default: default:
printf("Option non reconnue. Veuillez recommencer.\n"); printf("Option non reconnue. Veuillez recommencer.\n");

@ -0,0 +1,96 @@
#include "SAE.h"
/*
ListeDept chargeListeDept(VilleIUT *tiut[])
{
int i = 0;
ListeDept liste = listenouv();
FILE *file = fopen("informationsIUT.txt", "r");
while (!feof(file))
{
}
}*/
int chargementVillesIUT(VilleIUT *tiut[])
{
FILE *file = fopen("informationsIUT.txt", "r");
char ville[30], dept[30], resp[30];
int nbP, i = 0, insertPos;
bool trouve;
if (file == NULL)
{
printf("Fonction chargementVillesIUT : Problème lors de l'ouverture du fichier informationsIUT.txt");
exit(-1);
}
while (!feof(file))
{
fscanf(file, "%s%s%d", ville, dept, &nbP);
fseek(file, 1, SEEK_CUR);
fgets(resp, 30, file);
resp[strlen(resp) - 1] = '\0';
insertPos = rechercheVille(tiut, i, ville, &trouve);
if (trouve == 0)
{
tiut[i] = (VilleIUT *)malloc(sizeof(VilleIUT));
if (tiut[i] == NULL)
{
printf("Fonction chargementVillesIUT : Problème lors du malloc");
exit(-1);
}
strcpy(tiut[i]->ville, ville);
tiut[i]->ldept = listenouv();
tiut[i]->ldept = inserer(tiut[i]->ldept, dept, nbP, resp);
i++;
}
else
{
tiut[insertPos]->ldept = inserer(tiut[insertPos]->ldept, dept, nbP, resp);
}
}
fclose(file);
return i;
}
int rechercheVille(VilleIUT *tiut[], int nb, char val[], bool *trouve)
{
int i;
for (i = 0; i < nb; i++)
{
if (strcmp(tiut[i]->ville, val) == 0)
{
*trouve = true;
return i;
}
}
*trouve = false;
return i;
}
void sauvegarde(VilleIUT *tiut[], int nb)
{
char ville[30], dept[30], resp[30];
int nbP, posDept;
FILE *file = fopen("informationsIUT.txt", "w");
if (file == NULL)
{
printf("Fonction sauvegarde : Problème lors de l'ouverture du fichier informationsIUT.txt");
exit(-1);
}
for (int i = 0; i < nb; i++)
{
strcpy(ville, tiut[i]->ville);
while (!vide(tiut[i]->ldept))
{
strcpy(dept, getDept(tiut[i]->ldept, 0));
nbP = getNbP(tiut[i]->ldept, 0);
strcpy(resp, getResp(tiut[i]->ldept, 0));
fprintf(file, "%s %s %d %s\n", ville, dept, nbP, resp);
tiut[i]->ldept = supprimerEnTete(tiut[i]->ldept);
}
}
fclose(file);
}

@ -0,0 +1,228 @@
#include "SAE.h"
/*
Departement lireDpt(FILE *flot, Admission ListeDepartement)
{
Departement dpt;
fscanf(flot, "%s\n%d\n%d\n", dpt.departement, &dpt.decisionAdmission, &dpt.decisionCandidat);
return dpt;
}
void afficherDpt(Departement dpt)
{
printf("\t%s\t%d\t%d", dpt.departement, dpt.decisionAdmission, dpt.decisionCandidat);
}
Admission lireCandidat(FILE *flot, ListeAdmission la)
{
int i = 0;
fscanf(flot, "%d\n", &la->candidat.num);
fgets(candidat.nom, 22, flot);
candidat.nom[strlen(candidat.nom) - 1] = '\0';
fgets(candidat.prenom, 22, flot);
candidat.prenom[strlen(candidat.prenom) - 1] = '\0';
fscanf(flot, "%d\t%d\t%d\t%d\n%d\n%s\n", &candidat.tabMatiere[0], &candidat.tabMatiere[1], &candidat.tabMatiere[2], &candidat.tabMatiere[3], &candidat.nbChoix, candidat.ville);
if(candidat.nbChoix == 0)
{
listenouv();
return candidat;
}
dpt = lireDpt(flot);
while(!feof(flot) && i < candidat.nbChoix)
{
if(strcmp(dpt.departement, dptResAdmi) == 0)
{
candidat.ldept = inserer(candidat, dpt);
}
dpt = lireDpt(flot);
i++;
}
return candidat;
}
void afficherCandidats(Admission candidat)
{
int i;
printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t%d\t%s\t%s\t%d\t%d", candidat.num, candidat.nom, candidat.prenom, candidat.noteMaths, candidat.noteFrançais, candidat.noteAnglais, candidat.noteSpe, candidat.nbChoix, candidat.ville);
for(i = 0; i < candidat.nbChoix; i++)
{
afficherDpt(candidat.ldept->v);
ldept = ldept->suiv;
}
printf("\n");
}
// Regarder si le nombre de choix est = à 0 Que se passe-t-il ?
ListeAdmission chargerCandidats(char *ficAdmission, char dptResAdmi[30], ListeAdmission la)
{
FILE *flot;
listenouv();
flot=fopen(ficAdmission, "r");
if(flot == NULL)
{
printf("Erreur d'ouverture du fichier !\n");
exit(1);
}
la->v = lireCandidat(flot);
while(!feof(flot))
{
listeCandidats = insererCand(listeCandidats, candidat);
candidat = lireCandidat(flot);
}
fclose(flot);
return listeCandidats;
}
void sauvegarderCandidats(ListeAdmission listeCandidats, char dptResAdmi[30])
{
FILE *flot;
flot=fopen("admissionInfo.txt", "w");
if(flot == NULL)
{
printf("Erreur d'ouverture du fichier !\n");
exit(1);
}
while(! videCand(listeCandidats))
{
fprintf(flot, "%d\n%s\n%s\n%d\t%d\t%d\t%d\n%d\n%s\n", listeCandidats->v.num, listeCandidats->v.nom, listeCandidats->v.prenom, listeCandidats->v.tabMatiere[0], listeCandidats->v.tabMatiere[1], listeCandidats->v.tabMatiere[2], listeCandidats->v.tabMatiere[3], listeCandidats->v.nbChoix, listeCandidats->v.ville);
while(! videDpt(listeCandidats->v.ldept))
{
fprintf(flot, "%s\n%d\n%d\n", listeCandidats->v.ldept->v.departement, listeCandidats->v.ldept->v.decisionAdmission, listeCandidats->v.ldept->v.decisionCandidat);
listeCandidats->v.ldept = listeCandidats->v.ldept->suiv;
}
listeCandidats = listeCandidats->suiv;
}
fclose(flot);
}
void afficherCandidatsAdmis(ListeAdmission listeCandidats)
{
while(! videCand(listeCandidats))
{
if(listeCandidats->v.admis == 1)
{
afficherCandidats(listeCandidats->v);
}
listeCandidats = listeCandidats->suiv;
}
}
void afficherCandidatsNonAdmis(ListeAdmission listeCandidats)
{
while(! videCand(listeCandidats))
{
if(listeCandidats->v.admis == 0)
{
afficherCandidats(listeCandidats->v);
}
listeCandidats = listeCandidats->suiv;
}
}
void afficherCandidatsAttente(ListeAdmission listeCandidats)
{
while(! videCand(listeCandidats))
{
if(listeCandidats->v.admis == 2)
{
afficherCandidats(listeCandidats->v);
}
listeCandidats = listeCandidats->suiv;
}
}
void afficherCandidatsDpt(ListeAdmission listeCandidats)
{
while(! videCand(listeCandidats))
{
afficherCandidats(listeCandidats->v);
listeCandidats = listeCandidats->suiv;
}
}
ListeAdmission MoyenneCandidats(ListeAdmission listeCandidats)
{
ListeAdmission listeMoyenne = listeNouvCand();
while(! videCand(listeCandidats))
{
listeCandidats->v.moyenne = (listeCandidats->v.noteMaths + listeCandidats->v.noteFrançais + listeCandidats->v.noteAnglais + listeCandidats->v.noteSpe) / 4;
listeMoyenne = insererCand(listeMoyenne, listeCandidats->v);
listeCandidats = listeCandidats->suiv;
}
return listeMoyenne;
}
// 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 ?
int modifNoteMinAdmis()
{
int noteMaths, noteFrançais, noteAnglais, noteSpe;
printf("Entrez la nouvelle note minimale d'admission en maths (-1 pour quitter) : ");
while(noteMaths < 0 || noteMaths > 20)
{
scanf("%d", &noteMaths);
if(noteMaths == -1)
{
break;
}
printf("La note doit être comprise entre 0 et 20 !\n");
}
printf("Entrez la nouvelle note minimale d'admission en français (-1 pour quitter) : ");
while(noteFrançais < 0 || noteFrançais > 20)
{
scanf("%d", &noteFrançais);
if(noteFrançais == -1)
{
break;
}
printf("La note doit être comprise entre 0 et 20 !\n");
}
printf("Entrez la nouvelle note minimale d'admission en anglais (-1 pour quitter) : ");
while(noteAnglais < 0 || noteAnglais > 20)
{
scanf("%d", &noteAnglais);
if(noteAnglais == -1)
{
break;
}
printf("La note doit être comprise entre 0 et 20 !\n");
}
printf("Entrez la nouvelle note minimale d'admission en spécialité (-1 pour quitter) : ");
while(noteSpe < 0 || noteSpe > 20)
{
scanf("%d", &noteSpe);
if(noteSpe == -1)
{
break;
}
printf("La note doit être comprise entre 0 et 20 !\n");
}
}
int modifNbAdmisMax()
{
int nbAdmisMax;
printf("Entrez le nouveau nombre d'admis maximum : ");
scanf("%d", &nbAdmisMax);
return nbAdmisMax;
}
*/

@ -1,100 +1,100 @@
Numero de candidat Nom Prenom Note de maths Note de francais Note d'anglais Note de specialite Nombre de choix de candidatures Ville choisie de la premiere candidature Departement Decision du departement Validation Numero de candidat Nom Prenom Note de maths Note de francais Note d'anglais Note de specialite Nombre de choix de candidatures Ville choisie de la premiere candidature Departement Decision du departement Validation
1 Nom1 Prenom1 9 5 6 4 3 Ville3 Departement1 0 0 Ville6 Departement5 -1 0 Ville5 Departement7 -1 1 1 Miahxdamslwmmkangbxv uxxfnuveepvapkzcxlmy 19 4 16 3 1 Clermont-Ferrand Departement2 0 0
2 Nom2 Prenom2 13 0 4 11 5 Ville46 Departement8 0 1 Ville9 Departement8 0 1 Ville26 Departement14 1 1 Ville12 Departement7 1 1 Ville26 Departement14 1 1 2 Kvpzwegaturyphdzvpof vjrwrilvmsbrwcjmqbvs 7 6 15 20 2 Clermont-Ferrand Departement4 0 0 Clermont-Ferrand Departement3 0 0
3 Nom3 Prenom3 9 10 10 2 3 Ville21 Departement19 -1 0 Ville51 Departement17 0 1 Ville28 Departement10 0 0 3 Sofwpnwidwrbhymzhjfk kaljbbdwoqpwzandzqxd 13 6 16 1 5 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement16 0 0 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement17 0 0
4 Nom4 Prenom4 7 3 7 6 4 Ville49 Departement12 0 0 Ville54 Departement17 0 0 Ville8 Departement7 0 0 Ville5 Departement2 1 1 4 Orjsumjnjoypbcoszlzw rdgtbemabkwrptrncjvs 1 7 15 18 2 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement4 0 0
5 Nom5 Prenom5 14 8 0 7 5 Ville21 Departement11 0 1 Ville10 Departement7 -1 0 Ville1 Departement19 1 0 Ville1 Departement17 -1 1 Ville58 Departement5 -1 1 5 Mwojzcnsbhkkbzozppvt vyejfqylclufqvmsrmqm 17 18 9 12 1 Clermont-Ferrand Departement19 0 0
6 Nom6 Prenom6 2 9 10 13 1 Ville10 Departement9 -1 0 6 Lxqkfisfgrowinjhkkvi ebxsmnogvgplaslvcfvh 3 4 13 15 4 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement17 0 0 Clermont-Ferrand Departement20 0 0
7 Nom7 Prenom7 17 20 10 9 2 Ville5 Departement13 0 0 Ville59 Departement6 -1 0 7 Vqfrkniihsozxqkqpceq wrkeufgvzdwqdzthjyhm 5 7 12 9 1 Clermont-Ferrand Departement3 0 0
8 Nom8 Prenom8 1 15 18 18 2 Ville58 Departement13 1 0 Ville41 Departement11 1 0 8 Oiruvmqffwsyzzhfzevg fvkcsvkufwvhszftwipb 17 7 7 10 5 Clermont-Ferrand Departement16 0 0 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement10 0 0 Clermont-Ferrand Departement16 0 0
9 Nom9 Prenom9 1 20 13 18 3 Ville4 Departement6 0 1 Ville2 Departement8 -1 1 Ville22 Departement4 1 0 9 Icaidezxblesqsrfptua yqzwnkcciculwphsamts 2 17 15 3 4 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement14 0 0 Clermont-Ferrand Departement4 0 0 Clermont-Ferrand Departement15 0 0
10 Nom10 Prenom10 9 18 9 12 1 Ville60 Departement7 1 0 10 Grytnlmspsbfuxfhpten mopweubomijtouneyfba 19 17 3 16 3 Clermont-Ferrand Departement9 0 0 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement10 0 0
11 Nom11 Prenom11 3 9 16 3 5 Ville41 Departement17 -1 1 Ville3 Departement1 -1 0 Ville4 Departement16 1 1 Ville30 Departement6 1 1 Ville14 Departement9 1 0 11 Fcqfszgtgcrnrfdxrtat owynwcpuaktgtqkaqjge 7 0 4 14 4 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement1 0 0 Clermont-Ferrand Departement17 0 0
12 Nom12 Prenom12 18 7 6 12 5 Ville20 Departement18 0 0 Ville29 Departement18 -1 1 Ville56 Departement12 1 0 Ville4 Departement18 1 0 Ville12 Departement20 1 0 12 Cyxgbfhmqkrhbysktvss bzpysnzxmhczgvpfyptm 18 1 11 10 2 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement14 0 0
13 Nom13 Prenom13 4 11 11 15 2 Ville40 Departement17 0 0 Ville58 Departement14 -1 0 13 Rrhkxwserauelmnjjhtx dbdivbbkygradvlflrxw 5 10 11 5 2 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement18 0 0
14 Nom14 Prenom14 5 14 12 2 3 Ville46 Departement11 1 1 Ville15 Departement7 0 0 Ville7 Departement9 -1 0 14 Qpkbwbqvzhqzqyzzxmun gfbfuvlotxwvtxfhkwnu 6 12 10 4 2 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement8 0 0
15 Nom15 Prenom15 13 4 6 19 1 Ville49 Departement5 1 1 15 Skkiyhmeqxvkftwlpefj dauystfibksujgdmjqpg 9 11 9 7 4 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement6 0 0 Clermont-Ferrand Departement6 0 0
16 Nom16 Prenom16 12 10 9 13 4 Ville9 Departement13 -1 0 Ville29 Departement17 0 0 Ville32 Departement4 -1 0 Ville56 Departement2 -1 1 16 Wtfmduocdpfxiautgdoz bodfwbhoujoxzheleotv 0 15 7 2 4 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement19 0 0
17 Nom17 Prenom17 16 7 6 7 5 Ville50 Departement18 1 1 Ville4 Departement16 0 0 Ville57 Departement13 -1 0 Ville3 Departement16 0 0 Ville32 Departement14 0 1 17 Jfboxymdfclqzchjdair fpzuwlgwaeulqvpoqujl 19 20 7 0 5 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement1 0 0 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement19 0 0
18 Nom18 Prenom18 20 3 2 9 1 Ville44 Departement13 -1 1 18 Gwtgonvwlkhsfzgrbbbn tgevkspyqkbvgzuvdpsa 20 15 3 9 5 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement16 0 0 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement10 0 0
19 Nom19 Prenom19 4 11 20 4 3 Ville37 Departement12 -1 0 Ville24 Departement20 0 0 Ville5 Departement2 0 0 19 Ysimxnfzyuvcmzeeyyxa xkraiohjsabhuenpqytp 2 3 4 19 5 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement1 0 0 Clermont-Ferrand Departement12 0 0
20 Nom20 Prenom20 10 17 12 5 1 Ville47 Departement1 1 0 20 Awsookmavcolnbmyslhp lfflypuuvfnwdpszwutm 5 15 3 17 1 Clermont-Ferrand Departement1 0 0
21 Nom21 Prenom21 12 0 5 17 1 Ville33 Departement1 1 0 21 Pkleupgyyysrqwbszkcm aenrkvnuxgbjmujvnbhh 16 4 0 2 1 Clermont-Ferrand Departement13 0 0
22 Nom22 Prenom22 4 0 12 17 5 Ville42 Departement18 0 1 Ville49 Departement12 1 1 Ville36 Departement8 1 1 Ville27 Departement5 -1 0 Ville27 Departement4 -1 0 22 Jmngqtnmtkjxpferzhas gsujxirmwcvjhsflfbbw 18 9 3 9 4 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement16 0 0 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement4 0 0
23 Nom23 Prenom23 12 16 17 20 5 Ville44 Departement9 0 1 Ville46 Departement2 0 0 Ville5 Departement11 1 0 Ville57 Departement9 0 0 Ville7 Departement20 -1 1 23 Jvpldsqmsqzusduaretj qpzjhqmjlxkcfbiujhap 11 13 5 3 3 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement18 0 0 Clermont-Ferrand Departement12 0 0
24 Nom24 Prenom24 4 16 19 3 5 Ville60 Departement15 1 1 Ville44 Departement14 0 1 Ville27 Departement8 0 0 Ville27 Departement10 0 0 Ville49 Departement6 -1 1 24 Muepntdqpsgoqwpjvltk mohszumxeonpqesoeqas 19 12 11 1 5 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement3 0 0
25 Nom25 Prenom25 7 15 17 1 4 Ville34 Departement1 -1 1 Ville24 Departement8 -1 0 Ville12 Departement7 0 0 Ville36 Departement5 1 1 25 Iuxjbdvxsovskavcgrxm nnnlkizvjwevigagmtut 18 20 20 11 3 Clermont-Ferrand Departement14 0 0 Clermont-Ferrand Departement10 0 0 Clermont-Ferrand Departement2 0 0
26 Nom26 Prenom26 0 4 18 19 3 Ville10 Departement1 0 0 Ville4 Departement12 1 1 Ville36 Departement18 0 1 26 Gtxcemsjwaconrubyocm ilzxszucfyjlhwyhygpq 12 6 13 13 3 Clermont-Ferrand Departement14 0 0 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement6 0 0
27 Nom27 Prenom27 2 15 16 6 2 Ville54 Departement14 0 0 Ville12 Departement5 0 0 27 Chmawuteyyywkkolqzqe owqepzprlbglqmvbfqbx 15 9 6 16 4 Clermont-Ferrand Departement17 0 0 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement15 0 0
28 Nom28 Prenom28 1 6 10 20 2 Ville3 Departement15 -1 1 Ville38 Departement20 0 1 28 Lhxvjxjtjywwkdryxdbk hwwyfojoauxsolmytuxy 8 1 17 4 1 Clermont-Ferrand Departement8 0 0
29 Nom29 Prenom29 16 20 2 5 1 Ville32 Departement9 0 0 29 Bawkmrzojtgmelvvgczf vupqlopiisstygcfplyg 11 14 9 17 4 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement17 0 0 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement4 0 0
30 Nom30 Prenom30 12 7 6 15 5 Ville32 Departement17 1 1 Ville18 Departement16 0 0 Ville26 Departement16 -1 0 Ville35 Departement4 0 1 Ville16 Departement5 1 0 30 Fvnqsnyqotzvumtvvemm cgtknaindayxsnjpddux 7 20 8 4 5 Clermont-Ferrand Departement9 0 0 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement1 0 0 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement17 0 0
31 Nom31 Prenom31 12 12 10 15 3 Ville10 Departement5 -1 0 Ville15 Departement15 -1 1 Ville60 Departement7 1 1 31 Rihjcxfwrtzohlzjncmq jujclecnezlrxmffdkuz 7 2 13 10 5 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement10 0 0 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement2 0 0
32 Nom32 Prenom32 4 17 3 17 3 Ville26 Departement4 1 0 Ville27 Departement16 1 1 Ville9 Departement16 1 0 32 Mflfvmfkacqkintlnmjx ivdppqdlrhabthrchrig 5 8 5 11 2 Clermont-Ferrand Departement6 0 0 Clermont-Ferrand Departement2 0 0
33 Nom33 Prenom33 5 0 16 9 3 Ville4 Departement12 0 1 Ville10 Departement18 1 1 Ville43 Departement19 1 0 33 Zotpexokoxlxuzbqwzeq enbnowwychtpmnrspzia 2 15 6 17 2 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement15 0 0
34 Nom34 Prenom34 12 15 18 18 1 Ville8 Departement1 1 1 34 Fzoqskdifvyxfadiknxn upsvglupbnjazdokgtpz 13 15 20 20 2 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement8 0 0
35 Nom35 Prenom35 3 6 10 2 1 Ville51 Departement15 0 1 35 Pxheclzmncexkcecdzco ggnuuellkfbkgkdiurkt 0 2 2 11 1 Clermont-Ferrand Departement9 0 0
36 Nom36 Prenom36 18 3 12 15 3 Ville20 Departement2 -1 0 Ville20 Departement12 0 1 Ville33 Departement13 -1 1 36 Kgsjtzxszjzegpiregco dgjzxvtgjnghylqdoczd 19 7 14 13 3 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement9 0 0 Clermont-Ferrand Departement2 0 0
37 Nom37 Prenom37 19 19 17 17 4 Ville9 Departement20 0 1 Ville48 Departement15 -1 0 Ville54 Departement6 -1 0 Ville51 Departement2 -1 1 37 Xpruipmwtnncalgzjgkz bziemfkexivmvbhkpxko 17 3 5 2 4 Clermont-Ferrand Departement13 0 0 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement18 0 0 Clermont-Ferrand Departement8 0 0
38 Nom38 Prenom38 12 10 15 1 1 Ville4 Departement10 1 1 38 Fsuscnmhrwdbdkvhinms bycupnfquisfzjzrwqpt 3 17 3 18 2 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement13 0 0
39 Nom39 Prenom39 14 19 14 0 4 Ville47 Departement11 0 1 Ville36 Departement18 0 0 Ville47 Departement10 -1 1 Ville39 Departement13 -1 0 39 Emrifzzwhkqvvnmfwyaw qwefrdjmreyyjguwrvic 7 14 18 13 4 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement6 0 0 Clermont-Ferrand Departement17 0 0
40 Nom40 Prenom40 9 3 8 12 4 Ville56 Departement11 1 0 Ville19 Departement1 0 1 Ville55 Departement20 -1 0 Ville57 Departement10 -1 1 40 Hflmudlnetevertgnpke escgpjevtdqlkpfsruhq 0 20 20 2 5 Clermont-Ferrand Departement10 0 0 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement6 0 0 Clermont-Ferrand Departement19 0 0
41 Nom41 Prenom41 16 13 6 11 4 Ville17 Departement11 -1 1 Ville51 Departement1 1 0 Ville60 Departement14 0 1 Ville4 Departement2 0 0 41 Lzacklhkmgpirwoahipa dxddnzgptnbhlgyynhid 17 13 13 2 4 Clermont-Ferrand Departement14 0 0 Clermont-Ferrand Departement14 0 0 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement13 0 0
42 Nom42 Prenom42 16 13 14 18 5 Ville5 Departement15 1 1 Ville1 Departement19 -1 0 Ville17 Departement7 -1 1 Ville26 Departement4 1 0 Ville40 Departement16 1 1 42 Qfqpmtqdryqsoengavqa eurtrfzyjccmgqquwwat 18 11 5 15 5 Clermont-Ferrand Departement6 0 0 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement14 0 0 Clermont-Ferrand Departement6 0 0 Clermont-Ferrand Departement2 0 0
43 Nom43 Prenom43 16 16 7 7 2 Ville4 Departement5 0 1 Ville14 Departement10 0 0 43 Sbakimpygarczqibakpi ejxnxiqdgaicbqgxpegq 18 13 3 11 1 Clermont-Ferrand Departement12 0 0
44 Nom44 Prenom44 8 5 2 20 2 Ville45 Departement6 -1 0 Ville49 Departement19 -1 1 44 Ljsjjjwmuixgqthvxruj nncxpehzbbpxelpyfzec 2 9 15 11 4 Clermont-Ferrand Departement13 0 0 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement5 0 0
45 Nom45 Prenom45 20 14 14 13 1 Ville30 Departement8 -1 0 45 Tetdpwsftzvsjdokrwns liiongssojnhkqeszzyx 5 14 13 0 3 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement13 0 0
46 Nom46 Prenom46 13 3 16 12 2 Ville46 Departement12 -1 1 Ville5 Departement8 0 1 46 Whqjjatvljmxcmxydshq yrmclekjcmlfmxtrnsxa 12 4 7 15 3 Clermont-Ferrand Departement1 0 0 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement16 0 0
47 Nom47 Prenom47 2 6 13 6 4 Ville13 Departement2 -1 1 Ville57 Departement13 0 0 Ville23 Departement4 1 1 Ville4 Departement17 -1 0 47 Ggxiwswszgjkhsovuabd lhyyrysojporftpxocca 5 2 17 2 5 Clermont-Ferrand Departement13 0 0 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement14 0 0
48 Nom48 Prenom48 6 4 11 7 3 Ville5 Departement10 0 0 Ville37 Departement15 1 0 Ville52 Departement14 -1 1 48 Vcpcyvbxfsxeypairbqz azydfotjanlcuyqctjhn 5 12 10 10 1 Clermont-Ferrand Departement10 0 0
49 Nom49 Prenom49 2 13 13 2 3 Ville2 Departement9 0 0 Ville35 Departement20 0 0 Ville46 Departement20 -1 1 49 Wacyqvxrozzhdlfirfta mmaqfrbhdouahlxnthma 12 3 10 5 4 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement18 0 0
50 Nom50 Prenom50 16 3 3 14 2 Ville32 Departement14 0 0 Ville59 Departement10 -1 1 50 Zuxvljtgyoiyqqhsyxlf zmbzaxnxeegnlspcaydx 9 6 20 18 4 Clermont-Ferrand Departement4 0 0 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement1 0 0 Clermont-Ferrand Departement16 0 0
51 Nom51 Prenom51 1 15 0 20 5 Ville43 Departement7 0 0 Ville6 Departement17 1 0 Ville28 Departement10 -1 1 Ville9 Departement12 -1 0 Ville4 Departement12 -1 1 51 Sknoydvzfkitjzacjhnr frmcgqsumjtiprcnqmpw 5 19 16 1 3 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement13 0 0 Clermont-Ferrand Departement4 0 0
52 Nom52 Prenom52 20 16 8 20 5 Ville4 Departement16 1 1 Ville53 Departement16 1 1 Ville41 Departement6 -1 1 Ville44 Departement18 0 1 Ville11 Departement17 1 1 52 Hfchdzknkjugtpheghev dezvffmanakgseahmhak 7 5 4 18 5 Clermont-Ferrand Departement10 0 0 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement3 0 0
53 Nom53 Prenom53 17 19 13 1 1 Ville6 Departement1 1 1 53 Rhwfkblugaumarhrzyhn gctduifckyaaejuihsgu 15 1 5 8 5 Clermont-Ferrand Departement18 0 0 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement6 0 0 Clermont-Ferrand Departement7 0 0
54 Nom54 Prenom54 16 17 3 16 5 Ville55 Departement14 -1 0 Ville36 Departement8 1 1 Ville47 Departement20 -1 0 Ville22 Departement14 -1 0 Ville39 Departement1 1 0 54 Rhlqvuisislusttnuwvo oyvpmglrufifiqpszevp 11 15 4 2 3 Clermont-Ferrand Departement13 0 0 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement1 0 0
55 Nom55 Prenom55 17 0 18 11 3 Ville27 Departement19 1 0 Ville30 Departement6 1 0 Ville37 Departement10 0 0 55 Hoxxrlgohchhpxiaunte qvpcxeykqgwxipnyjlvq 12 6 16 13 2 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement11 0 0
56 Nom56 Prenom56 4 17 3 7 3 Ville22 Departement9 1 0 Ville50 Departement5 1 1 Ville50 Departement7 0 0 56 Admjzjjimndguafpdswy phrrqdhwjfuxkzqjhzzw 6 1 3 18 3 Clermont-Ferrand Departement4 0 0 Clermont-Ferrand Departement10 0 0 Clermont-Ferrand Departement7 0 0
57 Nom57 Prenom57 12 13 9 15 1 Ville36 Departement16 -1 0 57 Flqspefebottpvkydbdh olyvnlheyziktofrqigs 10 20 4 20 3 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement11 0 0
58 Nom58 Prenom58 16 5 1 18 3 Ville18 Departement13 0 0 Ville26 Departement19 -1 0 Ville52 Departement1 0 0 58 Opbtqgwnswmqclkyjrge amibhqfxopgibjesqwnc 19 8 8 0 5 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement10 0 0 Clermont-Ferrand Departement20 0 0
59 Nom59 Prenom59 5 9 6 14 4 Ville55 Departement10 -1 1 Ville48 Departement11 0 1 Ville46 Departement2 1 1 Ville11 Departement8 -1 0 59 Ogobedazlpyshsktixea rarqldyhwxamuiukmnxh 18 12 14 15 1 Clermont-Ferrand Departement10 0 0
60 Nom60 Prenom60 3 16 12 5 1 Ville13 Departement5 -1 1 60 Jacaqhjuosagxlesaptu trvwflchtrpezstpcbpu 0 7 13 12 2 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement9 0 0
61 Nom61 Prenom61 5 14 14 19 5 Ville40 Departement13 -1 1 Ville36 Departement17 -1 1 Ville45 Departement20 1 1 Ville17 Departement9 1 0 Ville56 Departement1 1 1 61 Gvhjyesjabosrgernqzn ixuuyaheyjmvarbxkqsb 0 12 2 4 3 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement5 0 0
62 Nom62 Prenom62 15 9 16 20 3 Ville41 Departement15 1 1 Ville11 Departement17 1 1 Ville10 Departement20 0 0 62 Hcervblqcxlhchrvjkaj xbzkgsithtaxxyhncmkb 6 13 20 17 3 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement10 0 0
63 Nom63 Prenom63 7 17 3 10 5 Ville16 Departement1 -1 1 Ville38 Departement19 0 0 Ville4 Departement5 -1 0 Ville39 Departement14 0 1 Ville60 Departement20 -1 0 63 Bxvouomvfhmvlkbvcnum unurcvxtyfskedjnzrgo 5 5 14 2 2 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement16 0 0
64 Nom64 Prenom64 1 3 6 8 2 Ville51 Departement7 0 0 Ville51 Departement15 1 1 64 Zbtooqhqmaoleecbfljd hqsznvvdnxhbvgkznqqb 19 20 9 16 1 Clermont-Ferrand Departement13 0 0
65 Nom65 Prenom65 8 10 18 16 5 Ville39 Departement14 0 0 Ville4 Departement8 0 0 Ville49 Departement9 1 1 Ville35 Departement5 0 0 Ville53 Departement11 -1 0 65 Bpizafvxbuzaqomkkcfg ethpbnvqbjwndrtrikzb 9 8 5 20 2 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement20 0 0
66 Nom66 Prenom66 15 3 10 17 4 Ville31 Departement11 -1 0 Ville9 Departement6 1 1 Ville21 Departement13 -1 1 Ville19 Departement4 0 1 66 Sftpfyndvlgefzcgjqqq fwbymaitgptidusuqjwh 14 0 17 17 4 Clermont-Ferrand Departement18 0 0 Clermont-Ferrand Departement10 0 0 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement7 0 0
67 Nom67 Prenom67 20 2 4 13 4 Ville18 Departement11 1 0 Ville20 Departement11 -1 0 Ville46 Departement3 1 1 Ville20 Departement1 0 0 67 Kxvjpbyhsvrcykftbbcg awxguucqqweafantynhr 19 1 12 13 2 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement6 0 0
68 Nom68 Prenom68 15 9 11 20 2 Ville44 Departement20 -1 1 Ville4 Departement16 -1 0 68 Izwczrbqfxkwxiyuddvn ahzvvkbkoahhbpqkdzvc 8 12 20 15 3 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement18 0 0
69 Nom69 Prenom69 12 18 16 4 3 Ville41 Departement4 1 1 Ville29 Departement17 1 1 Ville37 Departement15 1 1 69 Tetewesjqcdmttbgacjs xtlkavhsgkkkwivhiiqc 15 6 8 1 3 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement1 0 0 Clermont-Ferrand Departement4 0 0
70 Nom70 Prenom70 0 0 3 15 4 Ville14 Departement18 -1 0 Ville20 Departement7 1 1 Ville43 Departement12 1 1 Ville49 Departement16 1 0 70 Jsjaxdaofritzkfoiozu qresmtzownwqgjbjulhn 5 17 2 7 2 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement14 0 0
71 Nom71 Prenom71 14 6 19 10 3 Ville59 Departement13 1 1 Ville48 Departement4 1 0 Ville16 Departement17 0 1 71 Gcmefjlramgkpfttoxmw iudzyktmmhfksbwfldnw 9 10 18 17 2 Clermont-Ferrand Departement13 0 0 Clermont-Ferrand Departement6 0 0
72 Nom72 Prenom72 14 2 2 16 1 Ville10 Departement14 1 1 72 Ypaklkcxrvwjnqzqdzap bhhmpgthewxlpkipaeqh 5 16 18 0 2 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement16 0 0
73 Nom73 Prenom73 11 18 15 18 5 Ville39 Departement5 0 1 Ville46 Departement4 -1 0 Ville5 Departement13 0 0 Ville37 Departement6 -1 0 Ville13 Departement3 -1 1 73 Ewzpnypmcpkctogubnsg iflohexuvfmdipbmhyrk 13 13 7 9 4 Clermont-Ferrand Departement17 0 0 Clermont-Ferrand Departement17 0 0 Clermont-Ferrand Departement17 0 0 Clermont-Ferrand Departement14 0 0
74 Nom74 Prenom74 14 19 17 3 2 Ville4 Departement2 0 1 Ville60 Departement16 -1 1 74 Gmlcobblwkhxxqlhamna nfrugmzjxqlifzownjoo 5 16 6 0 2 Clermont-Ferrand Departement6 0 0 Clermont-Ferrand Departement17 0 0
75 Nom75 Prenom75 16 19 19 4 1 Ville35 Departement6 1 1 75 Kpzuwedkqyrmqbgzzafv bkgqhiutbefbhbzszvae 10 12 4 1 1 Clermont-Ferrand Departement2 0 0
76 Nom76 Prenom76 10 18 17 1 3 Ville37 Departement13 0 0 Ville6 Departement4 0 0 Ville28 Departement13 0 0 76 Gqnrcwpezugjdxtjnkil crgcfsqpcqfthydymvwh 6 1 9 15 2 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement4 0 0
77 Nom77 Prenom77 1 9 12 0 1 Ville17 Departement15 -1 1 77 Laidutooirtrzcxbvidy kczoipeynskxawmosyyu 18 19 14 1 4 Clermont-Ferrand Departement18 0 0 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement13 0 0 Clermont-Ferrand Departement19 0 0
78 Nom78 Prenom78 17 16 15 1 2 Ville8 Departement7 0 1 Ville57 Departement6 1 0 78 Msvrvxmositdkndjabjw ehbbhxjebibryrdldpzs 7 7 19 14 5 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement1 0 0 Clermont-Ferrand Departement4 0 0 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement18 0 0
79 Nom79 Prenom79 16 8 5 20 1 Ville2 Departement10 1 0 79 Osigerrxlovrlduvdfgj zvxvtddhpgsmisgvohnh 8 0 2 13 4 Clermont-Ferrand Departement1 0 0 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement17 0 0 Clermont-Ferrand Departement17 0 0
80 Nom80 Prenom80 1 10 15 2 5 Ville26 Departement19 0 1 Ville56 Departement13 1 0 Ville17 Departement3 -1 1 Ville2 Departement16 -1 1 Ville12 Departement5 -1 1 80 Jzddkudyqywikdxfxgwl zlsuloohndfwyecadyxe 2 20 12 6 3 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement19 0 0
81 Nom81 Prenom81 14 10 6 4 1 Ville52 Departement19 -1 1 81 Woqigrriyobuprmwlaee sxgdotwytlmtokoxccaq 13 18 15 5 5 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement1 0 0
82 Nom82 Prenom82 20 8 0 19 2 Ville41 Departement8 -1 0 Ville15 Departement4 0 1 82 Gqldilaysmainupapzuw cruxfvipbmmhjcfuqwkc 1 12 19 20 1 Clermont-Ferrand Departement3 0 0
83 Nom83 Prenom83 2 20 11 15 2 Ville17 Departement4 1 1 Ville48 Departement20 0 1 83 Pixujajqlkhcmygmmtql ccgsqshsobudamxyretx 1 1 1 0 4 Clermont-Ferrand Departement14 0 0 Clermont-Ferrand Departement18 0 0 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement12 0 0
84 Nom84 Prenom84 3 19 14 17 2 Ville41 Departement12 1 0 Ville3 Departement5 0 0 84 Etzgjsqqsmppngfvuevi xbigwtwnlmipltrynlfn 15 2 5 10 3 Clermont-Ferrand Departement16 0 0 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement13 0 0
85 Nom85 Prenom85 20 13 9 17 4 Ville23 Departement6 1 1 Ville37 Departement8 1 0 Ville21 Departement1 0 0 Ville40 Departement9 0 1 85 Sshylfdrlnnkqpnvarhu shloyofzbnzvfvahplmi 14 5 15 19 2 Clermont-Ferrand Departement14 0 0 Clermont-Ferrand Departement18 0 0
86 Nom86 Prenom86 17 0 3 11 4 Ville50 Departement1 0 1 Ville42 Departement12 0 0 Ville25 Departement3 1 1 Ville12 Departement8 1 1 86 Cauxjmtjepitbadaugxx azdkrbxnodlsxbegfopd 0 3 0 6 2 Clermont-Ferrand Departement4 0 0 Clermont-Ferrand Departement20 0 0
87 Nom87 Prenom87 11 1 18 10 4 Ville54 Departement11 0 1 Ville9 Departement18 -1 0 Ville50 Departement12 0 1 Ville36 Departement18 -1 1 87 Odfpepixegnogjvbhykx ixxqpifnjmzgydbkhlul 6 10 13 16 4 Clermont-Ferrand Departement16 0 0 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement11 0 0
88 Nom88 Prenom88 16 15 20 2 3 Ville19 Departement13 -1 0 Ville39 Departement5 -1 1 Ville52 Departement16 0 0 88 Laebtpmgiuaifiudmowx hgjswrazukzohaoiqexs 6 0 16 19 1 Clermont-Ferrand Departement8 0 0
89 Nom89 Prenom89 12 15 3 2 4 Ville1 Departement1 0 1 Ville1 Departement9 -1 0 Ville24 Departement15 1 0 Ville14 Departement8 1 1 89 Oqnfahepnpaioidluypp wklrznbpmnetndtfidpg 6 9 16 12 4 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement20 0 0
90 Nom90 Prenom90 2 16 12 5 4 Ville43 Departement1 1 1 Ville25 Departement2 0 1 Ville47 Departement16 -1 1 Ville46 Departement3 -1 1 90 Ojchecwszrfybijbmtqf zfpbjmbhahshtoagoxza 7 7 17 18 5 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement14 0 0 Clermont-Ferrand Departement4 0 0 Clermont-Ferrand Departement4 0 0 Clermont-Ferrand Departement18 0 0
91 Nom91 Prenom91 7 19 9 16 5 Ville42 Departement6 -1 1 Ville38 Departement2 0 1 Ville3 Departement8 -1 0 Ville12 Departement6 1 1 Ville43 Departement16 -1 1 91 Gznxvvldhdpzgnlhrtxm ncxdyturgpnqvphcmpvf 4 18 4 2 5 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement11 0 0
92 Nom92 Prenom92 16 15 0 7 2 Ville22 Departement14 -1 1 Ville24 Departement3 1 0 92 Uzttxlamoscfirrrutwn rtetkajnwcowublpaiim 19 14 17 20 4 Clermont-Ferrand Departement13 0 0 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement10 0 0
93 Nom93 Prenom93 13 12 17 8 1 Ville26 Departement1 0 1 93 Qvobopfvixiacqkpvnff symqnzbmmiadwufsiaui 15 7 17 19 3 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement3 0 0
94 Nom94 Prenom94 5 1 17 10 1 Ville4 Departement7 0 1 94 Mkxksyqacptojmzrnfso bmacrskescmqptaqexuv 8 18 19 4 3 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement11 0 0
95 Nom95 Prenom95 11 4 2 18 5 Ville31 Departement5 1 0 Ville49 Departement6 1 0 Ville4 Departement17 0 0 Ville38 Departement12 1 1 Ville40 Departement12 1 1 95 Wvsyojrcqdvxemwlpvyx bcqmkwsmxigmkkmykcqx 13 11 16 1 4 Clermont-Ferrand Departement18 0 0 Clermont-Ferrand Departement6 0 0 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement9 0 0
96 Nom96 Prenom96 2 3 16 8 3 Ville29 Departement2 0 1 Ville9 Departement10 -1 0 Ville59 Departement13 -1 1 96 Cbiluluiydacybuhzpoh slaaiadbdvskhlarllll 9 12 13 14 5 Clermont-Ferrand Departement1 0 0 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement16 0 0 Clermont-Ferrand Departement17 0 0 Clermont-Ferrand Departement2 0 0
97 Nom97 Prenom97 13 8 18 16 2 Ville28 Departement12 -1 0 Ville2 Departement20 -1 0 97 Hxvevqkvysdpbrmwuhsp lqwxfwjgmetubhzlxsop 12 3 19 16 3 Clermont-Ferrand Departement9 0 0 Clermont-Ferrand Departement9 0 0 Clermont-Ferrand Departement17 0 0
98 Nom98 Prenom98 10 3 13 10 2 Ville44 Departement6 0 0 Ville48 Departement20 0 0 98 Ewkrhhxvhcramxseivvv qbwbkfecndcmkezrwlmd 16 4 1 20 1 Clermont-Ferrand Departement18 0 0
99 Nom99 Prenom99 13 20 14 19 2 Ville58 Departement20 -1 0 Ville49 Departement5 0 1 99 Mqpjjqvxjmjyrsavdltc dedolkqjorzewomhgnek 15 11 20 16 5 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement18 0 0 Clermont-Ferrand Departement17 0 0 Clermont-Ferrand Departement12 0 0

@ -0,0 +1,231 @@
#include "SAE.h"
/*
// ListeAdmission
ListeAdmission listenouvAdm(void)
{
ListeAdmission la;
la = NULL;
return la;
}
ListeAdmission insererEnTeteAdm(ListeAdmission la, Admission candidat)
{
MaillonAdmission *p;
p = (MaillonAdmission *)malloc(sizeof(MaillonAdmission));
if(p == NULL)
{
printf("Opérations interdites !!!!\n");
exit(1);
}
p->v = candidat;
p->suiv = la;
return p;
}
ListeAdmission insererAdm(ListeAdmission la, Admission candidat)
{
if(la == NULL)
return insererEnTeteAdm(f, candidat);
if(candidat.num < la->v.num)
return insererEnTeteAdm(f, candidat);
if(candidat.num > la->v.num)
return la;
la->suiv = insererAdm(la->suiv, candidat);
return la;
}
ListeAdmission supprimerEnTeteAdm(ListeAdmission la)
{
MaillonAdmission *aux;
if(videAdm(la))
{
printf("Opérations interdites !!!!\n");
exit(1);
}
aux = la
la = la->suiv;
free(aux);
return la;
}
ListeAdmission supprimerAdm(ListeAdmission la, Admission candidat)
{
if(videAdm(la))
return la;
if(candidat.num < la->v.num)
return la;
if(candidat.num == la->v.num)
return supprimerEnTeteAdm(la);
la->suiv = supprimerAdm(la->suiv, candidat.num);
return la;
}
bool rechercherAdm(ListeAdmission la, Admission candidat)
{
if(videAdm(la))
return false;
if(candidat.num < la->v.num)
return false;
if(candidat.num == la->v.num)
return true;
return rechercherAdm(la->suiv, candidat.num);
}
int TeteAdm(ListeAdmission la)
{
if(videAdm(la))
{
printf("Opérations interdites !!!!\n");
exit(1);
}
return la->v; /* Retourne un candidat
}
bool videAdm(ListeAdmission la)
{
return la == NULL;
}
void afficherAdm(ListeAdmission la)
{
while(!videAdm(la))
{
afficherCandidatsAdm(Tete(la));
la = la->suiv;
}
printf("\n");
}
int longueurAdm(ListeAdmission la)
{
int cpt = 0;
while(!vide(la))
{
cpt++;
la = la->suiv;
}
return cpt;
}
void afficherCandidatsAdm(Admission candidat)
{
printf("%d\t%s\t%s\t%d\t%d\t%d\t%d\t%d\t%s\t%s\t%d\t%d", candidat.num, candidat.nom, candidat.prenom, candidat.noteMaths, candidat.noteFrançais, candidat.noteAnglais, candidat.noteSpe, candidat.nbChoix, candidat.ville);
afficherDpt(candidat.ListeDepartement);
}
// ListeDepartement
ListeDepartement listenouvDpt(void)
{
ListeDepartement ld;
ld = NULL;
return ld;
}
ListeDepartement insererEnTeteDpt(ListeDepartement ld, Departement dpt)
{
MaillonDepartement *p;
p = (MaillonDepartement *)malloc(sizeof(MaillonDepartement));
if(p == NULL)
{
printf("Opérations interdites !!!!\n");
exit(1);
}
p->v = dpt;
p->suiv = ld;
return p;
}
ListeDepartement insererDpt(ListeDepartement ld, Departement dpt)
{
if(ld == NULL)
return insererEnTeteDpt(ld, dpt);
if(strcmp(dpt.departement, ld->v.departement) < 0)
return insererEnTeteDpt(ld, dpt);
if(strcmp(dpt.departement, ld->v.departement) = 0)
return ld;
ld->suiv = insererDpt(ld->suiv, dpt);
return ld;
}
ListeDepartement supprimerEnTeteDpt(ListeDepartement ld)
{
MaillonDepartement *aux;
if(videDpt(ld))
{
printf("Opérations interdites !!!!\n");
exit(1);
}
aux = ld;
ld = ld->suiv;
free(aux);
return ld;
}
ListeDepartement supprimerDpt(ListeDepartement ld, Departement dpt)
{
if(videDpt(ld))
return ld;
if(strcmp(dpt.departement, ld->v.departement) < 0)
return ld;
if(strcmp(dpt.departement, ld->v.departement) = 0)
return supprimerEnTeteDpt(ld);
ld->suiv = supprimerDpt(ld->suiv, dpt.departement);
return ld;
}
bool rechercherDpt(ListeDepartement ld, Departement dpt)
{
if(videDpt(ld))
return false;
if(strcmp(dpt.departement, ld->v.departement) < 0)
return false;
if(strcmp(dpt.departement, ld->v.departement) = 0)
return true;
return rechercherDpt(ld->suiv, dpt.departement);
}
int TeteDpt(ListeDepartement ld)
{
if(videDpt(ld))
{
printf("Opérations interdites !!!!\n");
exit(1);
}
return ld->v; /* Retourne un département
}
bool videDpt(ListeDepartement ld)
{
return ld == NULL;
}
void afficherDpt(ListeDepartement ld)
{
while(!videDpt(ld))
{
afficherDepartement(TeteDpt(ld));
ld = ld->suiv;
}
printf("\n");
}
void afficherDepartement(Departement dpt)
{
printf("%s\t%d\t%d\t", dpt.departement, dpt.decisionAdmission, dpt.decisionCandidat);
}
int longueurDpt(ListeDepartement ld)
{
int cpt = 0;
while(!videDpt(ld))
{
cpt++;
ld = ld->suiv;
}
return cpt;
}
*/

@ -0,0 +1,52 @@
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
/* Partie 1 */
typedef struct maillonDept
{
char departement[30];
int nbP;
char resp[30];
struct maillonDept *suiv;
} MaillonDept, *ListeDept;
typedef struct
{
char ville[30];
ListeDept ldept;
} VilleIUT;
/* Partie 3 */
typedef struct
{
char departement[30];
int decisionAdmission;
int decisionCandidat;
} Departement;
typedef struct maillonDepartement
{
Departement v;
struct maillonDepartement *suiv;
} MaillonDepartement, *ListeDepartement;
typedef struct
{
int num;
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
int tabMatiere[4];
int nbChoix;
char ville[30];
ListeDepartement ldept;
} Admission;
typedef struct maillonAdmission
{
Admission v;
struct maillonAdmission *suiv;
} MaillonAdmission, *ListeAdmission;

@ -1,2 +0,0 @@
#include "structures.h"

@ -1,19 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
/* Partie 1 */
typedef struct maillonDept
{
char departement[30];
int nbP;
char resp[30];
struct maillonDept *suiv;
} MaillonDept, *ListeDept;
typedef struct
{
char ville[30];
ListeDept ldept;
} VilleIUT;

@ -0,0 +1,166 @@
#include "SAE.h"
ListeDept listenouv(void)
{
ListeDept l;
l = NULL;
return l;
}
ListeDept insererEnTete(ListeDept l, char departement[], int nbP, char resp[])
{
MaillonDept *m;
m = (MaillonDept *)malloc(sizeof(MaillonDept));
if (m == NULL)
{
printf("Fonction insererEnTete : problème malloc");
exit(1);
}
strcpy(m->departement, departement);
m->nbP = nbP;
strcpy(m->resp, resp);
m->suiv = l;
return m;
}
ListeDept inserer(ListeDept l, char departement[], int nbP, char resp[])
{
if (l == NULL)
{
return insererEnTete(l, departement, nbP, resp);
}
if (strcmp(departement, l->departement) < 0)
{
return insererEnTete(l, departement, nbP, resp);
}
if (departement == l->departement)
{
return l;
}
l->suiv = inserer(l->suiv, departement, nbP, resp);
return l;
}
void afficher(ListeDept l)
{
if (vide(l))
{
printf("\n");
return;
}
printf("%s\t%d\t%s\n", l->departement, l->nbP, l->resp);
afficher(l->suiv);
}
void afficherDept(ListeDept l)
{
if (vide(l))
{
printf("\n");
return;
}
printf("\t\t%s\n", l->departement);
afficherDept(l->suiv);
}
bool vide(ListeDept l)
{
return l == NULL;
}
int rechercheDept(ListeDept l, char departement[], bool *trouve)
{
if (vide(l))
{
*trouve = false;
return 0;
}
if (strcmp(departement, l->departement) != 0)
{
*trouve = false;
return 1 + rechercheDept(l->suiv, departement, trouve);
}
if (strcmp(departement, l->departement) == 0)
{
*trouve = true;
return 0;
}
return rechercheDept(l->suiv, departement, trouve);
}
int getNbP(ListeDept l, int pos)
{
for (int i = 0; i < pos; i++)
{
l = l->suiv;
}
return l->nbP;
}
void setNbP(ListeDept l, int pos, int valeur)
{
for (int i = 0; i < pos; i++)
{
l = l->suiv;
}
l->nbP = valeur;
}
ListeDept supprimerEnTete(ListeDept l)
{
MaillonDept *aux;
if (l == NULL)
{
printf("Opération interdite.");
exit(1);
}
aux = l;
l = l->suiv;
free(aux);
return l;
}
ListeDept supprimer(ListeDept l, char departement[])
{
if (l == NULL)
{
return l;
}
if (strcmp(departement, l->departement) < 0)
{
return l;
}
if (strcmp(departement, l->departement) == 0)
{
return supprimerEnTete(l);
}
l->suiv = supprimer(l->suiv, departement);
return l;
}
char* getResp(ListeDept l, int pos)
{
for (int i = 0; i < pos; i++)
{
l = l->suiv;
}
return l->resp;
}
void setResp(ListeDept l, int pos, char valeur[])
{
for (int i = 0; i < pos; i++)
{
l = l->suiv;
}
strcpy(l->resp, valeur);
}
char* getDept(ListeDept l, int pos)
{
for (int i = 0; i < pos; i++)
{
l = l->suiv;
}
return l->departement;
}

@ -0,0 +1,20 @@
#include "SAE.h"
void affichageVillesIUT(VilleIUT *tiut[], int nb)
{
printf("Voici les villes qui ont un IUT :\n");
for (int i = 0; i < nb; i++)
{
printf("\t%s\n", tiut[i]->ville);
}
}
void affichageDeptIUT(VilleIUT *tiut[], int nb)
{
printf("Voici les départements présents dans chaque IUT :\n");
for (int i = 0; i < nb; i++)
{
printf("\t%s :\n", tiut[i]->ville);
afficherDept(tiut[i]->ldept);
}
}
Loading…
Cancel
Save