Actualiser main.cpp

This commit is contained in:
2026-02-20 14:31:16 +00:00
parent 5863e247f1
commit a5b7577db6

View File

@@ -4,13 +4,15 @@
#include "auth.h" #include "auth.h"
#include "db.h" #include "db.h"
int main() { int main(){
// Liste des étudiants
std::vector<Student> students = { std::vector<Student> students = {
{"student1", {15,12,18}}, {"student1", {15,12,18}},
{"student2", {14,10,16}}, {"student2", {14,10,16}},
{"student3", {13,11,17}} {"student3", {13,11,17}}
}; };
// Liste des utilisateurs
std::vector<User> users = { std::vector<User> users = {
{"admin","1234",ADMIN}, {"admin","1234",ADMIN},
{"prof1","abcd",PROF}, {"prof1","abcd",PROF},
@@ -19,22 +21,24 @@ int main() {
{"student3","abc",STUDENT} {"student3","abc",STUDENT}
}; };
// Login
std::string login, password; std::string login, password;
std::cout << "Login : "; std::cin >> login; std::cout << "Login : "; std::cin >> login;
std::cout << "Mot de passe : "; std::cin >> password; std::cout << "Mot de passe : "; std::cin >> password;
int index = authentifier(login,password,users); int idx = authentifier(login,password,users);
if(index == -1){ if(idx == -1){
std::cout << "Identifiants incorrects.\n"; std::cout << "Identifiants incorrects.\n";
return 1; return 1;
} }
User currentUser = users[index]; User currentUser = users[idx];
std::string roleStr = (currentUser.role == ADMIN ? "ADMIN" : currentUser.role == PROF ? "PROF" : "STUDENT");
// Vues // Vues selon rôle
if(currentUser.role == ADMIN){ if(currentUser.role == ADMIN){
std::cout << "--- ADMIN ---\n"; std::cout << "--- ADMIN ---\n";
for(auto& s : students){ for(const auto& s : students){
std::cout << s.nom << " : "; std::cout << s.nom << " : ";
for(int n : s.notes) std::cout << n << " "; for(int n : s.notes) std::cout << n << " ";
std::cout << "\n"; std::cout << "\n";
@@ -46,17 +50,17 @@ int main() {
for(int n : students[i].notes) std::cout << n << " "; for(int n : students[i].notes) std::cout << n << " ";
std::cout << "\n"; std::cout << "\n";
} }
int id, noteIndex, newNote; int id,noteIdx,newNote;
std::cout << "ID étudiant à modifier (-1 pour quitter) : "; std::cout << "ID étudiant à modifier (-1 pour quitter) : ";
std::cin >> id; std::cin >> id;
if(id>=0){ if(id>=0){
std::cout << "Note (0-2) : "; std::cin >> noteIndex; std::cout << "Note (0-2) : "; std::cin >> noteIdx;
std::cout << "Nouvelle note : "; std::cin >> newNote; std::cout << "Nouvelle note : "; std::cin >> newNote;
students[id].notes[noteIndex] = newNote; students[id].notes[noteIdx] = newNote;
} }
} else { // STUDENT } else { // STUDENT
std::cout << "--- STUDENT ---\n"; std::cout << "--- STUDENT ---\n";
for(auto& s : students){ for(const auto& s : students){
if(s.nom == currentUser.login){ if(s.nom == currentUser.login){
std::cout << s.nom << " : "; std::cout << s.nom << " : ";
for(int n : s.notes) std::cout << n << " "; for(int n : s.notes) std::cout << n << " ";
@@ -66,8 +70,8 @@ int main() {
} }
// Export / Import // Export / Import
exportData("data.txt", students); exportData("data.txt", students, roleStr, currentUser.login);
importData("data.txt", students); importData("data.txt", students, roleStr);
return 0; return 0;
} }