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 string
# Ouverture du fichier en mode écriture
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
for i in range(1, 100):
nom = "Nom" + str(i)
prenom = "Prenom" + str(i)
nom = ''.join(random.choices(string.ascii_lowercase, k=20))
nom = nom.capitalize()
prenom = ''.join(random.choices(string.ascii_lowercase, k=20))
note_maths = str(random.randint(0, 20))
note_francais = 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))
departement4 = "Departement" + str(random.randint(1, 20))
departement5 = "Departement" + str(random.randint(1, 20))
decision1 = str(random.randint(-1, 1))
decision2 = str(random.randint(-1, 1))
decision3 = str(random.randint(-1, 1))
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))
departement1 != departement2 != departement3 != departement4 != departement5
decision = "0"
validation = "0"
#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
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":
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":
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":
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":
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)
/*affiche les informations d'un candidat*/
{
<<<<<<< HEAD
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)

@ -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

98
SAE.h

@ -2,4 +2,102 @@
#include <stdlib.h>
#include <string.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)
{
@ -11,7 +11,7 @@ void choixMenu(void)
printf("\t1 - Menu utilisateur\n");
printf("\t2 - Menu administrateur\n");
printf("\t9 - Quitter\n");
printf("\nChoix : ");
printf("\nEntrez votre choix :\n> ");
scanf("%d", &choix);
switch (choix)
{
@ -45,17 +45,18 @@ void menuUtilisateur(void)
printf("\t2 - Voir les départements dans chaque IUT\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("\nChoix : ");
printf("\t9 - Quitter\n");
printf("\nEntrez votre choix :\n> ");
scanf("%d", &choix);
switch (choix)
{
case 1:
c = true;
//
// affichageVillesIUT(VilleIUT *tiut[], int nb);
break;
case 2:
c = true;
//
// affichageDeptIUT(VilleIUT *tiut[], int nb);
break;
case 3:
c = true;
@ -67,7 +68,7 @@ void menuUtilisateur(void)
break;
case 9:
c = true;
break;
return choixMenu();
default:
printf("Option non reconnue. Veuillez recommencer.\n");
break;
@ -86,28 +87,29 @@ void menuAdministrateur(void)
printf("\t1 - Modifier le nombre de places dans un département\n");
printf("\t2 - Créer un département dans un IUT\n");
printf("\t3 - Supprimer un département d'un IUT\n");
printf("\t4 - Lancer la phase de candidature\n");
printf("\t5 - Stopper la phase de candidature\n");
printf("\t6 - Modifier le responsable d'un département\n");
printf("\nChoix : ");
printf("\t4 - Modifier le responsable d'un département\n");
printf("\t5 - Lancer la phase de candidature\n");
printf("\t6 - Stopper la phase de candidature\n");
printf("\t9 - Quitter\n");
printf("\nEntrez votre choix :\n> ");
scanf("%d", &choix);
switch (choix)
{
case 1:
c = true;
//
// modificationNbPDept(tiut, nb);
break;
case 2:
c = true;
//
// creationDept(tiut[], nb);
break;
case 3:
c = true;
//
// suppressionDept(tiut[], nb);
break;
case 4:
c = true;
//
// modificationRespDept(tiut, nb);
break;
case 5:
c = true;
@ -118,7 +120,7 @@ void menuAdministrateur(void)
//
break;
case 9:
c = true;
return choixMenu();
break;
default:
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
1 Nom1 Prenom1 9 5 6 4 3 Ville3 Departement1 0 0 Ville6 Departement5 -1 0 Ville5 Departement7 -1 1
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
3 Nom3 Prenom3 9 10 10 2 3 Ville21 Departement19 -1 0 Ville51 Departement17 0 1 Ville28 Departement10 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
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
6 Nom6 Prenom6 2 9 10 13 1 Ville10 Departement9 -1 0
7 Nom7 Prenom7 17 20 10 9 2 Ville5 Departement13 0 0 Ville59 Departement6 -1 0
8 Nom8 Prenom8 1 15 18 18 2 Ville58 Departement13 1 0 Ville41 Departement11 1 0
9 Nom9 Prenom9 1 20 13 18 3 Ville4 Departement6 0 1 Ville2 Departement8 -1 1 Ville22 Departement4 1 0
10 Nom10 Prenom10 9 18 9 12 1 Ville60 Departement7 1 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
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
13 Nom13 Prenom13 4 11 11 15 2 Ville40 Departement17 0 0 Ville58 Departement14 -1 0
14 Nom14 Prenom14 5 14 12 2 3 Ville46 Departement11 1 1 Ville15 Departement7 0 0 Ville7 Departement9 -1 0
15 Nom15 Prenom15 13 4 6 19 1 Ville49 Departement5 1 1
16 Nom16 Prenom16 12 10 9 13 4 Ville9 Departement13 -1 0 Ville29 Departement17 0 0 Ville32 Departement4 -1 0 Ville56 Departement2 -1 1
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
18 Nom18 Prenom18 20 3 2 9 1 Ville44 Departement13 -1 1
19 Nom19 Prenom19 4 11 20 4 3 Ville37 Departement12 -1 0 Ville24 Departement20 0 0 Ville5 Departement2 0 0
20 Nom20 Prenom20 10 17 12 5 1 Ville47 Departement1 1 0
21 Nom21 Prenom21 12 0 5 17 1 Ville33 Departement1 1 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
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
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
25 Nom25 Prenom25 7 15 17 1 4 Ville34 Departement1 -1 1 Ville24 Departement8 -1 0 Ville12 Departement7 0 0 Ville36 Departement5 1 1
26 Nom26 Prenom26 0 4 18 19 3 Ville10 Departement1 0 0 Ville4 Departement12 1 1 Ville36 Departement18 0 1
27 Nom27 Prenom27 2 15 16 6 2 Ville54 Departement14 0 0 Ville12 Departement5 0 0
28 Nom28 Prenom28 1 6 10 20 2 Ville3 Departement15 -1 1 Ville38 Departement20 0 1
29 Nom29 Prenom29 16 20 2 5 1 Ville32 Departement9 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
31 Nom31 Prenom31 12 12 10 15 3 Ville10 Departement5 -1 0 Ville15 Departement15 -1 1 Ville60 Departement7 1 1
32 Nom32 Prenom32 4 17 3 17 3 Ville26 Departement4 1 0 Ville27 Departement16 1 1 Ville9 Departement16 1 0
33 Nom33 Prenom33 5 0 16 9 3 Ville4 Departement12 0 1 Ville10 Departement18 1 1 Ville43 Departement19 1 0
34 Nom34 Prenom34 12 15 18 18 1 Ville8 Departement1 1 1
35 Nom35 Prenom35 3 6 10 2 1 Ville51 Departement15 0 1
36 Nom36 Prenom36 18 3 12 15 3 Ville20 Departement2 -1 0 Ville20 Departement12 0 1 Ville33 Departement13 -1 1
37 Nom37 Prenom37 19 19 17 17 4 Ville9 Departement20 0 1 Ville48 Departement15 -1 0 Ville54 Departement6 -1 0 Ville51 Departement2 -1 1
38 Nom38 Prenom38 12 10 15 1 1 Ville4 Departement10 1 1
39 Nom39 Prenom39 14 19 14 0 4 Ville47 Departement11 0 1 Ville36 Departement18 0 0 Ville47 Departement10 -1 1 Ville39 Departement13 -1 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
41 Nom41 Prenom41 16 13 6 11 4 Ville17 Departement11 -1 1 Ville51 Departement1 1 0 Ville60 Departement14 0 1 Ville4 Departement2 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
43 Nom43 Prenom43 16 16 7 7 2 Ville4 Departement5 0 1 Ville14 Departement10 0 0
44 Nom44 Prenom44 8 5 2 20 2 Ville45 Departement6 -1 0 Ville49 Departement19 -1 1
45 Nom45 Prenom45 20 14 14 13 1 Ville30 Departement8 -1 0
46 Nom46 Prenom46 13 3 16 12 2 Ville46 Departement12 -1 1 Ville5 Departement8 0 1
47 Nom47 Prenom47 2 6 13 6 4 Ville13 Departement2 -1 1 Ville57 Departement13 0 0 Ville23 Departement4 1 1 Ville4 Departement17 -1 0
48 Nom48 Prenom48 6 4 11 7 3 Ville5 Departement10 0 0 Ville37 Departement15 1 0 Ville52 Departement14 -1 1
49 Nom49 Prenom49 2 13 13 2 3 Ville2 Departement9 0 0 Ville35 Departement20 0 0 Ville46 Departement20 -1 1
50 Nom50 Prenom50 16 3 3 14 2 Ville32 Departement14 0 0 Ville59 Departement10 -1 1
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
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
53 Nom53 Prenom53 17 19 13 1 1 Ville6 Departement1 1 1
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
55 Nom55 Prenom55 17 0 18 11 3 Ville27 Departement19 1 0 Ville30 Departement6 1 0 Ville37 Departement10 0 0
56 Nom56 Prenom56 4 17 3 7 3 Ville22 Departement9 1 0 Ville50 Departement5 1 1 Ville50 Departement7 0 0
57 Nom57 Prenom57 12 13 9 15 1 Ville36 Departement16 -1 0
58 Nom58 Prenom58 16 5 1 18 3 Ville18 Departement13 0 0 Ville26 Departement19 -1 0 Ville52 Departement1 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
60 Nom60 Prenom60 3 16 12 5 1 Ville13 Departement5 -1 1
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
62 Nom62 Prenom62 15 9 16 20 3 Ville41 Departement15 1 1 Ville11 Departement17 1 1 Ville10 Departement20 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
64 Nom64 Prenom64 1 3 6 8 2 Ville51 Departement7 0 0 Ville51 Departement15 1 1
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
66 Nom66 Prenom66 15 3 10 17 4 Ville31 Departement11 -1 0 Ville9 Departement6 1 1 Ville21 Departement13 -1 1 Ville19 Departement4 0 1
67 Nom67 Prenom67 20 2 4 13 4 Ville18 Departement11 1 0 Ville20 Departement11 -1 0 Ville46 Departement3 1 1 Ville20 Departement1 0 0
68 Nom68 Prenom68 15 9 11 20 2 Ville44 Departement20 -1 1 Ville4 Departement16 -1 0
69 Nom69 Prenom69 12 18 16 4 3 Ville41 Departement4 1 1 Ville29 Departement17 1 1 Ville37 Departement15 1 1
70 Nom70 Prenom70 0 0 3 15 4 Ville14 Departement18 -1 0 Ville20 Departement7 1 1 Ville43 Departement12 1 1 Ville49 Departement16 1 0
71 Nom71 Prenom71 14 6 19 10 3 Ville59 Departement13 1 1 Ville48 Departement4 1 0 Ville16 Departement17 0 1
72 Nom72 Prenom72 14 2 2 16 1 Ville10 Departement14 1 1
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
74 Nom74 Prenom74 14 19 17 3 2 Ville4 Departement2 0 1 Ville60 Departement16 -1 1
75 Nom75 Prenom75 16 19 19 4 1 Ville35 Departement6 1 1
76 Nom76 Prenom76 10 18 17 1 3 Ville37 Departement13 0 0 Ville6 Departement4 0 0 Ville28 Departement13 0 0
77 Nom77 Prenom77 1 9 12 0 1 Ville17 Departement15 -1 1
78 Nom78 Prenom78 17 16 15 1 2 Ville8 Departement7 0 1 Ville57 Departement6 1 0
79 Nom79 Prenom79 16 8 5 20 1 Ville2 Departement10 1 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
81 Nom81 Prenom81 14 10 6 4 1 Ville52 Departement19 -1 1
82 Nom82 Prenom82 20 8 0 19 2 Ville41 Departement8 -1 0 Ville15 Departement4 0 1
83 Nom83 Prenom83 2 20 11 15 2 Ville17 Departement4 1 1 Ville48 Departement20 0 1
84 Nom84 Prenom84 3 19 14 17 2 Ville41 Departement12 1 0 Ville3 Departement5 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
86 Nom86 Prenom86 17 0 3 11 4 Ville50 Departement1 0 1 Ville42 Departement12 0 0 Ville25 Departement3 1 1 Ville12 Departement8 1 1
87 Nom87 Prenom87 11 1 18 10 4 Ville54 Departement11 0 1 Ville9 Departement18 -1 0 Ville50 Departement12 0 1 Ville36 Departement18 -1 1
88 Nom88 Prenom88 16 15 20 2 3 Ville19 Departement13 -1 0 Ville39 Departement5 -1 1 Ville52 Departement16 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
90 Nom90 Prenom90 2 16 12 5 4 Ville43 Departement1 1 1 Ville25 Departement2 0 1 Ville47 Departement16 -1 1 Ville46 Departement3 -1 1
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
92 Nom92 Prenom92 16 15 0 7 2 Ville22 Departement14 -1 1 Ville24 Departement3 1 0
93 Nom93 Prenom93 13 12 17 8 1 Ville26 Departement1 0 1
94 Nom94 Prenom94 5 1 17 10 1 Ville4 Departement7 0 1
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
96 Nom96 Prenom96 2 3 16 8 3 Ville29 Departement2 0 1 Ville9 Departement10 -1 0 Ville59 Departement13 -1 1
97 Nom97 Prenom97 13 8 18 16 2 Ville28 Departement12 -1 0 Ville2 Departement20 -1 0
98 Nom98 Prenom98 10 3 13 10 2 Ville44 Departement6 0 0 Ville48 Departement20 0 0
99 Nom99 Prenom99 13 20 14 19 2 Ville58 Departement20 -1 0 Ville49 Departement5 0 1
1 Miahxdamslwmmkangbxv uxxfnuveepvapkzcxlmy 19 4 16 3 1 Clermont-Ferrand Departement2 0 0
2 Kvpzwegaturyphdzvpof vjrwrilvmsbrwcjmqbvs 7 6 15 20 2 Clermont-Ferrand Departement4 0 0 Clermont-Ferrand Departement3 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 Orjsumjnjoypbcoszlzw rdgtbemabkwrptrncjvs 1 7 15 18 2 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement4 0 0
5 Mwojzcnsbhkkbzozppvt vyejfqylclufqvmsrmqm 17 18 9 12 1 Clermont-Ferrand Departement19 0 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 Vqfrkniihsozxqkqpceq wrkeufgvzdwqdzthjyhm 5 7 12 9 1 Clermont-Ferrand Departement3 0 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 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 Grytnlmspsbfuxfhpten mopweubomijtouneyfba 19 17 3 16 3 Clermont-Ferrand Departement9 0 0 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement10 0 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 Cyxgbfhmqkrhbysktvss bzpysnzxmhczgvpfyptm 18 1 11 10 2 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement14 0 0
13 Rrhkxwserauelmnjjhtx dbdivbbkygradvlflrxw 5 10 11 5 2 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement18 0 0
14 Qpkbwbqvzhqzqyzzxmun gfbfuvlotxwvtxfhkwnu 6 12 10 4 2 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement8 0 0
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 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 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 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 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 Awsookmavcolnbmyslhp lfflypuuvfnwdpszwutm 5 15 3 17 1 Clermont-Ferrand Departement1 0 0
21 Pkleupgyyysrqwbszkcm aenrkvnuxgbjmujvnbhh 16 4 0 2 1 Clermont-Ferrand Departement13 0 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 Jvpldsqmsqzusduaretj qpzjhqmjlxkcfbiujhap 11 13 5 3 3 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement18 0 0 Clermont-Ferrand Departement12 0 0
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 Iuxjbdvxsovskavcgrxm nnnlkizvjwevigagmtut 18 20 20 11 3 Clermont-Ferrand Departement14 0 0 Clermont-Ferrand Departement10 0 0 Clermont-Ferrand Departement2 0 0
26 Gtxcemsjwaconrubyocm ilzxszucfyjlhwyhygpq 12 6 13 13 3 Clermont-Ferrand Departement14 0 0 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement6 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 Lhxvjxjtjywwkdryxdbk hwwyfojoauxsolmytuxy 8 1 17 4 1 Clermont-Ferrand Departement8 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 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 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 Mflfvmfkacqkintlnmjx ivdppqdlrhabthrchrig 5 8 5 11 2 Clermont-Ferrand Departement6 0 0 Clermont-Ferrand Departement2 0 0
33 Zotpexokoxlxuzbqwzeq enbnowwychtpmnrspzia 2 15 6 17 2 Clermont-Ferrand Departement15 0 0 Clermont-Ferrand Departement15 0 0
34 Fzoqskdifvyxfadiknxn upsvglupbnjazdokgtpz 13 15 20 20 2 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement8 0 0
35 Pxheclzmncexkcecdzco ggnuuellkfbkgkdiurkt 0 2 2 11 1 Clermont-Ferrand Departement9 0 0
36 Kgsjtzxszjzegpiregco dgjzxvtgjnghylqdoczd 19 7 14 13 3 Clermont-Ferrand Departement7 0 0 Clermont-Ferrand Departement9 0 0 Clermont-Ferrand Departement2 0 0
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 Fsuscnmhrwdbdkvhinms bycupnfquisfzjzrwqpt 3 17 3 18 2 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement13 0 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 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 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 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 Sbakimpygarczqibakpi ejxnxiqdgaicbqgxpegq 18 13 3 11 1 Clermont-Ferrand Departement12 0 0
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 Tetdpwsftzvsjdokrwns liiongssojnhkqeszzyx 5 14 13 0 3 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement13 0 0
46 Whqjjatvljmxcmxydshq yrmclekjcmlfmxtrnsxa 12 4 7 15 3 Clermont-Ferrand Departement1 0 0 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement16 0 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 Vcpcyvbxfsxeypairbqz azydfotjanlcuyqctjhn 5 12 10 10 1 Clermont-Ferrand Departement10 0 0
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 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 Sknoydvzfkitjzacjhnr frmcgqsumjtiprcnqmpw 5 19 16 1 3 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement13 0 0 Clermont-Ferrand Departement4 0 0
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 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 Rhlqvuisislusttnuwvo oyvpmglrufifiqpszevp 11 15 4 2 3 Clermont-Ferrand Departement13 0 0 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement1 0 0
55 Hoxxrlgohchhpxiaunte qvpcxeykqgwxipnyjlvq 12 6 16 13 2 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement11 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 Flqspefebottpvkydbdh olyvnlheyziktofrqigs 10 20 4 20 3 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement11 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 Ogobedazlpyshsktixea rarqldyhwxamuiukmnxh 18 12 14 15 1 Clermont-Ferrand Departement10 0 0
60 Jacaqhjuosagxlesaptu trvwflchtrpezstpcbpu 0 7 13 12 2 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement9 0 0
61 Gvhjyesjabosrgernqzn ixuuyaheyjmvarbxkqsb 0 12 2 4 3 Clermont-Ferrand Departement5 0 0 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement5 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 Bxvouomvfhmvlkbvcnum unurcvxtyfskedjnzrgo 5 5 14 2 2 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement16 0 0
64 Zbtooqhqmaoleecbfljd hqsznvvdnxhbvgkznqqb 19 20 9 16 1 Clermont-Ferrand Departement13 0 0
65 Bpizafvxbuzaqomkkcfg ethpbnvqbjwndrtrikzb 9 8 5 20 2 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement20 0 0
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 Kxvjpbyhsvrcykftbbcg awxguucqqweafantynhr 19 1 12 13 2 Clermont-Ferrand Departement2 0 0 Clermont-Ferrand Departement6 0 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 Tetewesjqcdmttbgacjs xtlkavhsgkkkwivhiiqc 15 6 8 1 3 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement1 0 0 Clermont-Ferrand Departement4 0 0
70 Jsjaxdaofritzkfoiozu qresmtzownwqgjbjulhn 5 17 2 7 2 Clermont-Ferrand Departement3 0 0 Clermont-Ferrand Departement14 0 0
71 Gcmefjlramgkpfttoxmw iudzyktmmhfksbwfldnw 9 10 18 17 2 Clermont-Ferrand Departement13 0 0 Clermont-Ferrand Departement6 0 0
72 Ypaklkcxrvwjnqzqdzap bhhmpgthewxlpkipaeqh 5 16 18 0 2 Clermont-Ferrand Departement11 0 0 Clermont-Ferrand Departement16 0 0
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 Gmlcobblwkhxxqlhamna nfrugmzjxqlifzownjoo 5 16 6 0 2 Clermont-Ferrand Departement6 0 0 Clermont-Ferrand Departement17 0 0
75 Kpzuwedkqyrmqbgzzafv bkgqhiutbefbhbzszvae 10 12 4 1 1 Clermont-Ferrand Departement2 0 0
76 Gqnrcwpezugjdxtjnkil crgcfsqpcqfthydymvwh 6 1 9 15 2 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement4 0 0
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 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 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 Jzddkudyqywikdxfxgwl zlsuloohndfwyecadyxe 2 20 12 6 3 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement19 0 0
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 Gqldilaysmainupapzuw cruxfvipbmmhjcfuqwkc 1 12 19 20 1 Clermont-Ferrand Departement3 0 0
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 Etzgjsqqsmppngfvuevi xbigwtwnlmipltrynlfn 15 2 5 10 3 Clermont-Ferrand Departement16 0 0 Clermont-Ferrand Departement19 0 0 Clermont-Ferrand Departement13 0 0
85 Sshylfdrlnnkqpnvarhu shloyofzbnzvfvahplmi 14 5 15 19 2 Clermont-Ferrand Departement14 0 0 Clermont-Ferrand Departement18 0 0
86 Cauxjmtjepitbadaugxx azdkrbxnodlsxbegfopd 0 3 0 6 2 Clermont-Ferrand Departement4 0 0 Clermont-Ferrand Departement20 0 0
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 Laebtpmgiuaifiudmowx hgjswrazukzohaoiqexs 6 0 16 19 1 Clermont-Ferrand Departement8 0 0
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 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 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 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 Qvobopfvixiacqkpvnff symqnzbmmiadwufsiaui 15 7 17 19 3 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement20 0 0 Clermont-Ferrand Departement3 0 0
94 Mkxksyqacptojmzrnfso bmacrskescmqptaqexuv 8 18 19 4 3 Clermont-Ferrand Departement12 0 0 Clermont-Ferrand Departement8 0 0 Clermont-Ferrand Departement11 0 0
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 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 Hxvevqkvysdpbrmwuhsp lqwxfwjgmetubhzlxsop 12 3 19 16 3 Clermont-Ferrand Departement9 0 0 Clermont-Ferrand Departement9 0 0 Clermont-Ferrand Departement17 0 0
98 Ewkrhhxvhcramxseivvv qbwbkfecndcmkezrwlmd 16 4 1 20 1 Clermont-Ferrand Departement18 0 0
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