Modification menus et ajout de l'authentification Candidat

master
Alix JEUDI--LEMOINE 2 years ago
parent 522d85d8a6
commit 2fb0e958e2

@ -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) {
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
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, 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;
tiut = readVilles(&nbVilles);
VilleIUT** 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");

Loading…
Cancel
Save