|
|
|
@ -356,7 +356,7 @@ void enregistrementinfo(FILE *fe, listetuinfo *etu){
|
|
|
|
|
Listchoixdept b;
|
|
|
|
|
int i=0;
|
|
|
|
|
b = etu->carte;
|
|
|
|
|
fprintf(fe, "%d\n%s\n%s\n%d %d %d %d\n%d\n", etu->numeroetu, etu->nometu, etu->prenometu, etu->notes, etu->nbchoix);
|
|
|
|
|
fprintf(fe, "%d\n%s\n%s\n%d %d %d %d\n%d\n", etu->numeroetu, etu->nometu, etu->prenometu, etu->notes[0], etu->notes[1], etu->notes[2], etu->notes[3], etu->nbchoix);
|
|
|
|
|
enregistrementcarte(fe, b, etu->nbchoix);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -450,9 +450,10 @@ int correspondcarte(char choixville[], char choixdep[], Listchoixdept carte){
|
|
|
|
|
//ajouter =============================================================================================================================================
|
|
|
|
|
|
|
|
|
|
void choix(VilleIUT *tville[], int nbville, char choixville[], char choixdep[]){
|
|
|
|
|
int i, ok=0;
|
|
|
|
|
int i, ok=1;
|
|
|
|
|
printf("ville : ");
|
|
|
|
|
fgets(choixville, 31, stdin);
|
|
|
|
|
fgets(choixville, 31, stdin);
|
|
|
|
|
choixville[strlen(choixville)-1]='\0';
|
|
|
|
|
printf("departement : ");
|
|
|
|
|
fgets(choixdep, 31, stdin);
|
|
|
|
@ -482,18 +483,21 @@ Listchoixdept ajoutercarte(Maillonchoix* a, char choixville[], char choixdep[]){
|
|
|
|
|
return carte;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void allajoutprocess(VilleIUT *tville[], listetuinfo etu, int nbville){
|
|
|
|
|
listetuinfo allajoutprocess(VilleIUT *tville[], listetuinfo etu, int nbville){
|
|
|
|
|
int i, ok;
|
|
|
|
|
Listchoixdept b;
|
|
|
|
|
b = etu.carte;
|
|
|
|
|
char choixville[31], choixdep[31];
|
|
|
|
|
affichageville(tville, nbville);
|
|
|
|
|
choix(tville, nbville, choixville, choixdep);
|
|
|
|
|
printf("%s %s \n", choixville, choixdep);
|
|
|
|
|
ok = correspondcarte(choixville, choixdep, b);
|
|
|
|
|
printf("%d\n", ok);
|
|
|
|
|
if(ok==0){b = ajoutercarte(b, choixville, choixdep);}
|
|
|
|
|
else{printf("\t< choix deja existant >\n");}
|
|
|
|
|
etu.carte=b;
|
|
|
|
|
}// possible de devoir rerajouter b dans etu ??????????? et return nb+1
|
|
|
|
|
return etu;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//modifier ==============================================================================================================================================================
|
|
|
|
|
|
|
|
|
@ -501,6 +505,7 @@ void choix2(Listchoixdept lcarte, char choixville[], char choixdep[]){
|
|
|
|
|
int ok;
|
|
|
|
|
printf("ville : \n");
|
|
|
|
|
fgets(choixville, 31, stdin);
|
|
|
|
|
fgets(choixville, 31, stdin);
|
|
|
|
|
choixville[strlen(choixville)-1]='\0';
|
|
|
|
|
printf("departement : \n");
|
|
|
|
|
fgets(choixdep, 31, stdin);
|
|
|
|
@ -541,6 +546,7 @@ Listchoixdept choixmodifcarte(Listchoixdept dep, char choixville[], char choixde
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
dep->suivant = choixmodifcarte(dep->suivant, choixville, choixdep, tville, nbville);
|
|
|
|
|
return dep;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void affichagedep(MaillonDept* carte){
|
|
|
|
@ -558,35 +564,33 @@ void affichervillechoix(VilleIUT *villechoix){
|
|
|
|
|
printf("\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int correspondvilleonly(char choixville[], VilleIUT *ville){
|
|
|
|
|
Listdept b;
|
|
|
|
|
if(strcmp(ville->Ville,choixville)==0){
|
|
|
|
|
affichervillechoix(ville);
|
|
|
|
|
return 1;
|
|
|
|
|
int correspondvilleonly(char choixville[], VilleIUT *ville[], int nbville){
|
|
|
|
|
int i;
|
|
|
|
|
for(i=0; i<nbville; i++){
|
|
|
|
|
if(strcmp(ville[i]->Ville,choixville)==0){
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void modificationcarte(listetuinfo etu, VilleIUT *tville[], int nbville){
|
|
|
|
|
int i, ok;
|
|
|
|
|
int ok;
|
|
|
|
|
char choixville[31], choixdep[31];
|
|
|
|
|
Listchoixdept lcarte;
|
|
|
|
|
lcarte=etu.carte;
|
|
|
|
|
affichagecarte(lcarte);
|
|
|
|
|
choix2(lcarte, choixville, choixdep);
|
|
|
|
|
for(i=0; i<nbville; i++){
|
|
|
|
|
ok = correspondvilleonly(choixville, tville[i]);
|
|
|
|
|
if(ok==1){
|
|
|
|
|
fchoixdep(choixville, choixdep, tville, nbville);
|
|
|
|
|
lcarte = choixmodifcarte(lcarte, choixville, choixdep, tville, nbville);
|
|
|
|
|
etu.carte=lcarte;
|
|
|
|
|
}
|
|
|
|
|
else{printf("\t< choix deja existant >\n");}
|
|
|
|
|
ok = correspondvilleonly(choixville, tville, nbville);
|
|
|
|
|
if(ok==1){
|
|
|
|
|
lcarte = choixmodifcarte(lcarte, choixville, choixdep, tville, nbville);
|
|
|
|
|
etu.carte=lcarte;
|
|
|
|
|
}
|
|
|
|
|
else{printf("\t< choix pas existant >\n");}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//supprimer ==========================================================================================================================================
|
|
|
|
|
|
|
|
|
|
Maillonchoix* supptete(Listchoixdept carte){
|
|
|
|
|
Maillonchoix* supp(Listchoixdept carte){
|
|
|
|
|
Maillonchoix *tmp;
|
|
|
|
|
tmp=carte->suivant;
|
|
|
|
|
free(carte);
|
|
|
|
@ -597,11 +601,12 @@ Maillonchoix* suppressioncartechoix(char choixville[], char choixdep[], Listchoi
|
|
|
|
|
if(carte==NULL){exit(1);}
|
|
|
|
|
if(strcmp(carte->Ville,choixville)==0){
|
|
|
|
|
if(strcmp(choixdep,carte->dep)==0){
|
|
|
|
|
supptete(carte);
|
|
|
|
|
exit(1);
|
|
|
|
|
carte = supp(carte);
|
|
|
|
|
return carte;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
carte = suppressioncartechoix(choixville, choixdep, carte->suivant);
|
|
|
|
|
carte->suivant = suppressioncartechoix(choixville, choixdep, carte->suivant);
|
|
|
|
|
return carte;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void suppcarte(listetuinfo etu){
|
|
|
|
@ -613,6 +618,9 @@ void suppcarte(listetuinfo etu){
|
|
|
|
|
choix2(lcarte, choixville, choixdep);
|
|
|
|
|
lcarte = suppressioncartechoix(choixville, choixdep, lcarte);
|
|
|
|
|
etu.carte=lcarte;
|
|
|
|
|
affichageetu(etu);
|
|
|
|
|
lcarte=etu.carte;
|
|
|
|
|
affichagecarte(lcarte);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//==========================================================================================================
|
|
|
|
@ -725,7 +733,7 @@ void affichagedepresultat(Maillonchoix* carte, int *suite){
|
|
|
|
|
|
|
|
|
|
// validation
|
|
|
|
|
|
|
|
|
|
void validation(char choixville[], char choixdep[], Maillonchoix* carte, int *ok, Maillonatt lplace, int nbplace, listetuinfo etu){
|
|
|
|
|
void validation(char choixville[], char choixdep[], Maillonchoix* carte, int *ok){
|
|
|
|
|
if(carte==NULL){return;}
|
|
|
|
|
if(strcmp(carte->Ville,choixville)==0){
|
|
|
|
|
if(strcmp(carte->dep,choixdep)==0){
|
|
|
|
@ -736,18 +744,41 @@ void validation(char choixville[], char choixdep[], Maillonchoix* carte, int *ok
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
validation(choixville, choixdep, carte->suivant, ok);
|
|
|
|
|
if(ok==1){
|
|
|
|
|
if(*ok==1){
|
|
|
|
|
if(carte->decision==1);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void afficheroneetu(listetuinfo *tetu[], char choixnom[], char choixprenom[], int nbEtu){
|
|
|
|
|
int i;
|
|
|
|
|
listetuinfo etu;
|
|
|
|
|
for(i=0; i<nbEtu; i++){
|
|
|
|
|
if(strcmp(tetu[i]->nometu,choixnom)==0){
|
|
|
|
|
if(strcmp(tetu[i]->prenometu,choixprenom)==0){
|
|
|
|
|
etu = *tetu[i];
|
|
|
|
|
affichageetu(etu);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}printf("<! mauvaise saisie !>");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// MENU PARTIE 1
|
|
|
|
|
|
|
|
|
|
void menuValidation(){}
|
|
|
|
|
void menuValidation(listetuinfo etu){
|
|
|
|
|
int ok;
|
|
|
|
|
char choixville[31], choixdep[31];
|
|
|
|
|
Listchoixdept lcarte;
|
|
|
|
|
lcarte=etu.carte;
|
|
|
|
|
choix2(lcarte, choixville, choixdep);
|
|
|
|
|
validation(choixville, choixdep, lcarte, &ok);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb) {
|
|
|
|
|
void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int nbEtu, DepartementVille *departementVille, char nomFich[]) {
|
|
|
|
|
int choixP1U;
|
|
|
|
|
int suite=0;
|
|
|
|
|
int reponse;
|
|
|
|
|
Maillonchoix* lcarte;
|
|
|
|
|
while (choixP1U >= 1 || choixP1U <= 4) {
|
|
|
|
|
printf("\n");
|
|
|
|
|
printf("---------------------- MENU UTILISATEUR -----------------------\n");
|
|
|
|
@ -761,9 +792,6 @@ void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb) {
|
|
|
|
|
printf("| 7 - Supprimer un souhait |\n");
|
|
|
|
|
printf("| 8 - Consulter ses informations |\n");
|
|
|
|
|
printf("| 9 - Consulter où l'on est admis |\n");
|
|
|
|
|
printf("| 10 - |\n");
|
|
|
|
|
printf("| 11 - |\n");
|
|
|
|
|
printf("| 12 - |\n");
|
|
|
|
|
printf("| |\n");
|
|
|
|
|
printf("| 15 - Retour |\n");
|
|
|
|
|
printf("| Votre choix => ");
|
|
|
|
@ -784,7 +812,7 @@ void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb) {
|
|
|
|
|
afficheIUTdepParticulier(tabVille, nb);
|
|
|
|
|
break;
|
|
|
|
|
case 5:
|
|
|
|
|
allajoutprocess(tabVille, etu, nb);
|
|
|
|
|
etu=allajoutprocess(tabVille, etu, nb);
|
|
|
|
|
etu.nbchoix = etu.nbchoix+1;
|
|
|
|
|
break;
|
|
|
|
|
case 6:
|
|
|
|
@ -796,17 +824,23 @@ void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb) {
|
|
|
|
|
break;
|
|
|
|
|
case 8:
|
|
|
|
|
affichageetu(etu);
|
|
|
|
|
lcarte=etu.carte;
|
|
|
|
|
affichagecarte(lcarte);
|
|
|
|
|
break;
|
|
|
|
|
case 9:
|
|
|
|
|
affichagedepresultat(etu->lcarte, &suite);
|
|
|
|
|
lcarte=etu.carte;
|
|
|
|
|
affichagedepresultat(lcarte, &suite);
|
|
|
|
|
if(suite==1){
|
|
|
|
|
int reponse;
|
|
|
|
|
printf("| 1 - valider un veux |\n");
|
|
|
|
|
printf("| autre chiffre pour sortir |\n");
|
|
|
|
|
printf("| =>");
|
|
|
|
|
scanf("%d", &reponse);
|
|
|
|
|
//le menu de validation avec choix pour ce que l'on peux valider et apres -> validation et enregistrement
|
|
|
|
|
if(reponse==1){menuValidation();}
|
|
|
|
|
if(reponse==1){
|
|
|
|
|
menuValidation(etu);
|
|
|
|
|
enregistrementetudiants(nomFich, tetu, nbEtu);
|
|
|
|
|
departementVille = useAllFunctionsCandidature(tetu, nbEtu);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case 15:
|
|
|
|
@ -817,6 +851,7 @@ void menuP1Utilisateur(listetuinfo etu, VilleIUT *tabVille[], int nb) {
|
|
|
|
|
|
|
|
|
|
void menuP1Administrateur(VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int nbEtu, DepartementVille *departementVille) {
|
|
|
|
|
int choixP1A = 0;
|
|
|
|
|
char choixnom[21], choixprenom[21];
|
|
|
|
|
while (choixP1A >= 1 || choixP1A <= 4) {
|
|
|
|
|
printf("\n");
|
|
|
|
|
printf("---------------------- MENU ADMINISTRATEUR -----------------------\n");
|
|
|
|
@ -828,7 +863,8 @@ void menuP1Administrateur(VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int
|
|
|
|
|
printf("| 5 - Modifier nom responsable |\n");
|
|
|
|
|
printf("| 6 - Lancer analyse candidature |\n");
|
|
|
|
|
printf("| 7 - Afficher liste DES candidatures |\n");
|
|
|
|
|
printf("| 8 - Afficher liste des candidats par départements |\n");
|
|
|
|
|
printf("| 8 - Afficher une seul etudiant |\n");
|
|
|
|
|
printf("| 9 - Afficher candidats par odre alphabétique |\n");
|
|
|
|
|
printf("| |\n");
|
|
|
|
|
printf("| 15 - Retour |\n");
|
|
|
|
|
printf("| Votre choix => ");
|
|
|
|
@ -859,6 +895,17 @@ void menuP1Administrateur(VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int
|
|
|
|
|
affichealletu(tetu, nbEtu);
|
|
|
|
|
break;
|
|
|
|
|
case 8:
|
|
|
|
|
printf("| quel est le nom recherché ? |\n");
|
|
|
|
|
printf("| =>");
|
|
|
|
|
fgets(choixnom, 21, stdin);
|
|
|
|
|
choixnom[strlen(choixnom)-1]='\0';
|
|
|
|
|
printf("| quel est le prénom recherché ? |\n");
|
|
|
|
|
printf("| =>");
|
|
|
|
|
fgets(choixprenom, 21, stdin);
|
|
|
|
|
choixprenom[strlen(choixprenom)-1]='\0';
|
|
|
|
|
afficheroneetu(tetu, choixnom, choixprenom, nbEtu);
|
|
|
|
|
break;
|
|
|
|
|
case 9:
|
|
|
|
|
break;
|
|
|
|
|
case 15:
|
|
|
|
|
sauvegarde(tabVille, nb);// mettre menu général
|
|
|
|
@ -889,7 +936,7 @@ void menuPrincipal(VilleIUT *tabVille[], int nb, listetuinfo *tetu[], int nbEtu,
|
|
|
|
|
scanf("%d", &num);
|
|
|
|
|
ligneetu = recherdicoetu(tetu, nbEtu, num);
|
|
|
|
|
etu = *tetu[ligneetu];
|
|
|
|
|
menuP1Utilisateur(etu, tabVille, nb);
|
|
|
|
|
menuP1Utilisateur(etu, tabVille, nb, tetu, nbEtu, departementVille, nomFich);
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
menuP1Administrateur(tabVille, nb, tetu, nbEtu, departementVille);
|
|
|
|
|