|
|
|
@ -12,8 +12,9 @@
|
|
|
|
|
#include <string.h>
|
|
|
|
|
#include <errno.h>
|
|
|
|
|
#include <unistd.h> // sleep
|
|
|
|
|
#include "un.h"
|
|
|
|
|
#include <strings.h> // strcasecmp : insensitive case
|
|
|
|
|
#include "../II/deux.c"
|
|
|
|
|
#include "un.h"
|
|
|
|
|
|
|
|
|
|
void titreMenuPrincipal(void) {
|
|
|
|
|
system("clear");
|
|
|
|
@ -25,17 +26,90 @@ void titreMenuPrincipal(void) {
|
|
|
|
|
printf("╚═╝ ╚═╝╚══════╝ ╚═════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ \e[0m\n\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void menuCandidat(VilleIUT** tiut, int* nbVilles) {
|
|
|
|
|
ListeCandidats identificationCandidat(int* id, ListeCandidats liste, int* nbCandidats) {
|
|
|
|
|
char connexion;
|
|
|
|
|
|
|
|
|
|
printf("\nÊtes-vous déjà enregistré (O/N) ? : ");
|
|
|
|
|
scanf("%*c%c", &connexion);
|
|
|
|
|
|
|
|
|
|
char nom[LEN_MAX];
|
|
|
|
|
|
|
|
|
|
if(connexion == 'O') {
|
|
|
|
|
printf("\nTrès bien, merci de saisir votre ID : ");
|
|
|
|
|
scanf("%d", id);
|
|
|
|
|
|
|
|
|
|
if(*id > *nbCandidats) {
|
|
|
|
|
*id = 0;
|
|
|
|
|
fprintf(stderr, "\n\e[0;91mErreur : cet ID n'existe pas !\n\n\e[0m");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
printf("Merci de confirmer votre nom de famille : ");
|
|
|
|
|
scanf("%s", nom);
|
|
|
|
|
|
|
|
|
|
if(strcasecmp(nom, liste[*id-1]->nom) != 0) {
|
|
|
|
|
fprintf(stderr, "\n\e[0;91mErreur : le nom de famille ne correspond pas !\n\n\e[0m");
|
|
|
|
|
} else {
|
|
|
|
|
printf("\n\e[1;92mBienvenue %s %s !\n\e[1;91m"
|
|
|
|
|
"N'oubliez pas de revenir au menu principal pour vous déconnecter à la fin de votre session !\n\n\e[0m",
|
|
|
|
|
liste[*id-1]->prenom, liste[*id-1]->nom);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
printf("\nTrès bien, nous allons donc précéder à votre enregistrement.\n\n");
|
|
|
|
|
|
|
|
|
|
Candidat* candidat = creerCandidat(); // malloc
|
|
|
|
|
|
|
|
|
|
printf("Nom de famille : ");
|
|
|
|
|
scanf("%*c%[^\n]", candidat->nom);
|
|
|
|
|
printf("Prénom : ");
|
|
|
|
|
scanf("%*c%[^\n]", candidat->prenom);
|
|
|
|
|
printf("Moyenne en maths : ");
|
|
|
|
|
scanf("%f", &candidat->moyenneMath);
|
|
|
|
|
printf("Moyenne en français : ");
|
|
|
|
|
scanf("%f", &candidat->moyenneFrancais);
|
|
|
|
|
printf("Moyenne en anglais : ");
|
|
|
|
|
scanf("%f", &candidat->moyenneAnglais);
|
|
|
|
|
printf("Moyenne en spécialité : ");
|
|
|
|
|
scanf("%f", &candidat->moyenneSpecialite);
|
|
|
|
|
|
|
|
|
|
liste = ajouterCandidat(liste, nbCandidats, candidat); // realloc
|
|
|
|
|
*id = *nbCandidats;
|
|
|
|
|
|
|
|
|
|
printf("\n\n\e[1mParfait ! Votre ID est \e[1;32m%d\e[0m\e[1m, ne le perdez pas, "
|
|
|
|
|
"il vous suivera tout le long de vos candidatures !\n\e[1;91m"
|
|
|
|
|
"N'oubliez pas de revenir au menu principal pour vous déconnecter à la fin de votre session !\n\n\e[0m", *id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return liste;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void menuCandidat(VilleIUT*** tiutPointer, ListeCandidats* listePointer, int* nbVilles, int* nbCandidats) {
|
|
|
|
|
VilleIUT** tiut = *tiutPointer;
|
|
|
|
|
ListeCandidats liste = *listePointer;
|
|
|
|
|
|
|
|
|
|
char poubelle; // Permet de stocker les caractères aspirés en trop sur stdin lors du choix dans le menu
|
|
|
|
|
int choix; // Contient le choix de l'utilisateur dans le menu
|
|
|
|
|
int choix, id = 0; // choix: Contient le choix de l'utilisateur dans le menu / id: contient id user si login
|
|
|
|
|
char connexion;
|
|
|
|
|
|
|
|
|
|
printf("\n\nSouhaitez-vous vous connecter/enregistrer maintenant ou entrer en mode invité (O/N) ? : ");
|
|
|
|
|
scanf("%*c%c", &connexion);
|
|
|
|
|
|
|
|
|
|
if(connexion == 'O')
|
|
|
|
|
liste = identificationCandidat(&id, liste, nbCandidats);
|
|
|
|
|
|
|
|
|
|
if(id != 0)
|
|
|
|
|
printf("\e[1;94mCandidat: %s %s, ID: %d\e[0m\n", liste[id-1]->prenom, liste[id-1]->nom, id);
|
|
|
|
|
else
|
|
|
|
|
printf("\n\e[1;94mInvité\e[0m\n");
|
|
|
|
|
printf("-----------------------------------------------------------------------\n");
|
|
|
|
|
printf("\t1 - Consulter les ville possédant un IUT\n\n");
|
|
|
|
|
printf("\t2 - Voir les disponibilités des départements dans un IUT\n\n");
|
|
|
|
|
printf("\t3 - Rechercher un département\n\n");
|
|
|
|
|
printf("\t4 - Candidater\n\n");
|
|
|
|
|
printf("\t5 - Suivre sa candidature\n\n");
|
|
|
|
|
if(id != 0) {
|
|
|
|
|
printf("\t4 - Candidater\n\n");
|
|
|
|
|
printf("\t5 - Suivre sa candidature\n\n");
|
|
|
|
|
} else {
|
|
|
|
|
printf("\t4 - S'identifier\n\n");
|
|
|
|
|
}
|
|
|
|
|
printf("\t9 - Quitter\n");
|
|
|
|
|
printf("-----------------------------------------------------------------------\n");
|
|
|
|
|
|
|
|
|
@ -71,11 +145,19 @@ void menuCandidat(VilleIUT** tiut, int* nbVilles) {
|
|
|
|
|
afficherDepartement(tiut, *nbVilles, searchDept);
|
|
|
|
|
break;
|
|
|
|
|
case 4:
|
|
|
|
|
printf("Candidater...\n\n");
|
|
|
|
|
// TODO
|
|
|
|
|
if(id != 0) {
|
|
|
|
|
printf("Candidater...\n\n");
|
|
|
|
|
} else {
|
|
|
|
|
printf("S'identifier...\n\n");
|
|
|
|
|
liste = identificationCandidat(&id, liste, nbCandidats);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
case 5:
|
|
|
|
|
printf("Suivre sa candidature...\n\n");
|
|
|
|
|
if(id == 0) {
|
|
|
|
|
fprintf(stderr, "\e[0;91mErreur : vous devez d'abord vous authentifier, merci de réessayer plus tard.\n\e[0m");
|
|
|
|
|
}
|
|
|
|
|
// TODO
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
@ -85,12 +167,20 @@ void menuCandidat(VilleIUT** tiut, int* nbVilles) {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
printf("\n-----------------------------------------------------------------------\n");
|
|
|
|
|
if(id != 0)
|
|
|
|
|
printf("\n\e[1;94mCandidat: %s %s, ID: %d\e[0m\n", liste[id-1]->prenom, liste[id-1]->nom, id);
|
|
|
|
|
else
|
|
|
|
|
printf("\n\e[1;94mInvité\e[0m\n");
|
|
|
|
|
printf("-----------------------------------------------------------------------\n");
|
|
|
|
|
printf("\t1 - Consulter les ville possédant un IUT\n\n");
|
|
|
|
|
printf("\t2 - Voir les disponibilités des départements dans un IUT\n\n");
|
|
|
|
|
printf("\t3 - Rechercher un département\n\n");
|
|
|
|
|
printf("\t4 - Candidater\n\n");
|
|
|
|
|
printf("\t5 - Suivre sa candidature\n\n");
|
|
|
|
|
if(id != 0) {
|
|
|
|
|
printf("\t4 - Candidater\n\n");
|
|
|
|
|
printf("\t5 - Suivre sa candidature\n\n");
|
|
|
|
|
} else {
|
|
|
|
|
printf("\t4 - S'identifier\n\n");
|
|
|
|
|
}
|
|
|
|
|
printf("\t9 - Quitter\n");
|
|
|
|
|
printf("-----------------------------------------------------------------------\n");
|
|
|
|
|
|
|
|
|
@ -98,10 +188,12 @@ void menuCandidat(VilleIUT** tiut, int* nbVilles) {
|
|
|
|
|
choix=0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
*listePointer = liste;
|
|
|
|
|
printf("\nRetour au menu principal...\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void menuResponsable(VilleIUT** tiut, int* nbVilles) {
|
|
|
|
|
void menuResponsable(VilleIUT*** tiutPointer, int* nbVilles) {
|
|
|
|
|
//VilleIUT** tiut = *tiutPointer;
|
|
|
|
|
char poubelle; // Permet de stocker les caractères aspirés en trop sur stdin lors du choix dans le menu
|
|
|
|
|
int choix;
|
|
|
|
|
|
|
|
|
@ -146,7 +238,8 @@ void menuResponsable(VilleIUT** tiut, int* nbVilles) {
|
|
|
|
|
printf("\nRetour au menu principal...\n");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void menuAdmin(VilleIUT** tiut, int* nbVilles) {
|
|
|
|
|
void menuAdmin(VilleIUT*** tiutPointer, int* nbVilles) {
|
|
|
|
|
VilleIUT** tiut = *tiutPointer;
|
|
|
|
|
char poubelle; // Permet de stocker les caractères aspirés en trop sur stdin lors du choix dans le menu
|
|
|
|
|
int choix; // Contient le choix de l'utilisateur dans le menu
|
|
|
|
|
char pass[LEN_MAX];
|
|
|
|
@ -322,11 +415,15 @@ void menuPrincipal(/* TODO: prise en compte des status actuels du recrutement */
|
|
|
|
|
char poubelle; // Permet de stocker les caractères aspirés en trop sur stdin lors du choix dans le menu
|
|
|
|
|
int choix; // Contient le choix de l'utilisateur dans le menu
|
|
|
|
|
|
|
|
|
|
// PARTIE 1
|
|
|
|
|
int nbVilles = 0;
|
|
|
|
|
VilleIUT** tiut;
|
|
|
|
|
VilleIUT** tiut = readVilles(&nbVilles);
|
|
|
|
|
|
|
|
|
|
tiut = readVilles(&nbVilles);
|
|
|
|
|
// PARTIE 2
|
|
|
|
|
int nbCandidats = 0;
|
|
|
|
|
ListeCandidats liste = lireCandidats(&nbCandidats);
|
|
|
|
|
|
|
|
|
|
titreMenuPrincipal();
|
|
|
|
|
printf("--------------------------------------------\n");
|
|
|
|
|
printf("Vous êtes : \n");
|
|
|
|
|
printf("--------------------------------------------\n");
|
|
|
|
@ -352,8 +449,7 @@ void menuPrincipal(/* TODO: prise en compte des status actuels du recrutement */
|
|
|
|
|
printf("╚██████╗██║ ██║██║ ╚████║██████╔╝██║██████╔╝██║ ██║ ██║ \n");
|
|
|
|
|
printf(" ╚═════╝╚═╝ ╚═╝╚═╝ ╚═══╝╚═════╝ ╚═╝╚═════╝ ╚═╝ ╚═╝ ╚═╝ \e[0m\n\n");
|
|
|
|
|
|
|
|
|
|
menuCandidat(tiut, &nbVilles);
|
|
|
|
|
titreMenuPrincipal();
|
|
|
|
|
menuCandidat(&tiut, &liste, &nbVilles, &nbCandidats);
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
system("clear");
|
|
|
|
@ -364,8 +460,7 @@ void menuPrincipal(/* TODO: prise en compte des status actuels du recrutement */
|
|
|
|
|
printf("██║ ██║██████╔╝██║ ╚═╝ ██║██║██║ ╚████║██║███████║ ██║ ██║ ██║██║ ██║ ██║ ███████╗╚██████╔╝██║ ██║\n");
|
|
|
|
|
printf("╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═══╝╚═╝╚══════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚══════╝ ╚═════╝ ╚═╝ ╚═╝\e[0m\n\n");
|
|
|
|
|
|
|
|
|
|
menuAdmin(tiut, &nbVilles);
|
|
|
|
|
titreMenuPrincipal();
|
|
|
|
|
menuAdmin(&tiut, &nbVilles);
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
system("clear");
|
|
|
|
@ -376,8 +471,7 @@ void menuPrincipal(/* TODO: prise en compte des status actuels du recrutement */
|
|
|
|
|
printf("██║ ██║███████╗███████║██║ ╚██████╔╝██║ ╚████║███████║██║ ██║██████╔╝███████╗███████╗\n");
|
|
|
|
|
printf("╚═╝ ╚═╝╚══════╝╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═══╝╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚══════╝\e[0m\n\n");
|
|
|
|
|
|
|
|
|
|
menuResponsable(tiut, &nbVilles);
|
|
|
|
|
titreMenuPrincipal();
|
|
|
|
|
menuResponsable(&tiut, &nbVilles);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
// Permet d'aspirer les caractères en trop sur stdin (évite de répéter le message d'erreur X fois)
|
|
|
|
@ -386,6 +480,7 @@ void menuPrincipal(/* TODO: prise en compte des status actuels du recrutement */
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
titreMenuPrincipal();
|
|
|
|
|
printf("--------------------------------------------\n");
|
|
|
|
|
printf("Vous êtes : \n");
|
|
|
|
|
printf("--------------------------------------------\n");
|
|
|
|
|