109 lines
2.8 KiB
C++
109 lines
2.8 KiB
C++
#include <iostream>
|
|
#include "user.h"
|
|
#include "auth.h"
|
|
|
|
// Tableau d'utilisateurs
|
|
User users[] = {
|
|
{"admin", "1234", ADMIN},
|
|
{"prof1", "abcd", PROF},
|
|
{"student1", "pass", STUDENT},
|
|
{"student2", "123", STUDENT},
|
|
{"student3", "abc", STUDENT}
|
|
};
|
|
int nbUsers = 5;
|
|
|
|
// Tableau d'étudiants et leurs notes
|
|
struct Student {
|
|
std::string nom;
|
|
int notes[3];
|
|
};
|
|
|
|
Student etudiants[] = {
|
|
{"student1", {15, 12, 18}},
|
|
{"student2", {14, 10, 16}},
|
|
{"student3", {13, 11, 17}}
|
|
};
|
|
int nbEtudiants = 3;
|
|
|
|
// --- Fonctions de vues selon rôle ---
|
|
|
|
void viewAdmin() {
|
|
std::cout << "\n--- VUE ADMIN ---\n";
|
|
std::cout << "Liste des étudiants et notes :\n";
|
|
for(int i=0; i<nbEtudiants; i++) {
|
|
std::cout << etudiants[i].nom << " : ";
|
|
for(int j=0;j<3;j++) std::cout << etudiants[i].notes[j] << " ";
|
|
std::cout << "\n";
|
|
}
|
|
std::cout << "ADMIN peut ajouter/supprimer étudiants ou modifier notes (optionnel)\n";
|
|
}
|
|
|
|
void viewProf() {
|
|
std::cout << "\n--- VUE PROF ---\n";
|
|
std::cout << "Liste des étudiants et notes :\n";
|
|
for(int i=0; i<nbEtudiants; i++) {
|
|
std::cout << i << ". " << etudiants[i].nom << " : ";
|
|
for(int j=0;j<3;j++) std::cout << etudiants[i].notes[j] << " ";
|
|
std::cout << "\n";
|
|
}
|
|
|
|
int id, noteIndex, newNote;
|
|
std::cout << "Entrez l'ID étudiant à modifier (-1 pour quitter) : ";
|
|
std::cin >> id;
|
|
if(id>=0 && id<nbEtudiants){
|
|
std::cout << "Quelle note modifier (0-2) ? ";
|
|
std::cin >> noteIndex;
|
|
std::cout << "Nouvelle note : ";
|
|
std::cin >> newNote;
|
|
etudiants[id].notes[noteIndex] = newNote;
|
|
std::cout << "Note modifiée avec succès !\n";
|
|
}
|
|
}
|
|
|
|
void viewStudent(const User& user) {
|
|
std::cout << "\n--- VUE STUDENT ---\n";
|
|
for(int i=0; i<nbEtudiants; i++) {
|
|
if(etudiants[i].nom == user.login) {
|
|
std::cout << "Nom : " << etudiants[i].nom << "\nNotes : ";
|
|
for(int j=0;j<3;j++) std::cout << etudiants[i].notes[j] << " ";
|
|
std::cout << "\n";
|
|
return;
|
|
}
|
|
}
|
|
std::cout << "Aucune information trouvée.\n";
|
|
}
|
|
|
|
// --- MAIN ---
|
|
|
|
int main() {
|
|
std::string login, password;
|
|
|
|
std::cout << "Login : ";
|
|
std::cin >> login;
|
|
|
|
std::cout << "Mot de passe : ";
|
|
std::cin >> password;
|
|
|
|
int index = authentifier(login, password);
|
|
|
|
if(index != -1) {
|
|
std::cout << "Connexion réussie !" << std::endl;
|
|
|
|
// Afficher la vue selon le rôle
|
|
switch(users[index].role) {
|
|
case ADMIN:
|
|
viewAdmin();
|
|
break;
|
|
case PROF:
|
|
viewProf();
|
|
break;
|
|
case STUDENT:
|
|
viewStudent(users[index]);
|
|
break;
|
|
}
|
|
} else {
|
|
std::cout << "Identifiants incorrects." << std::endl;
|
|
}
|
|
|
|
return 0;
|
|
} |