Files
TP-C---Not-/main.cpp
2026-02-13 13:51:08 +00:00

73 lines
2.1 KiB
C++

#include <iostream>
#include <vector>
#include "user.h"
#include "auth.h"
#include "db.h"
int main() {
std::vector<Student> students = {
{"student1", {15,12,18}},
{"student2", {14,10,16}},
{"student3", {13,11,17}}
};
std::vector<User> users = {
{"admin","1234",ADMIN},
{"prof1","abcd",PROF},
{"student1","pass",STUDENT},
{"student2","123",STUDENT},
{"student3","abc",STUDENT}
};
std::string login, password;
std::cout << "Login : "; std::cin >> login;
std::cout << "Mot de passe : "; std::cin >> password;
int index = authentifier(login,password,users);
if(index == -1){
std::cout << "Identifiants incorrects.\n";
return 1;
}
User currentUser = users[index];
// Vues
if(currentUser.role == ADMIN){
std::cout << "--- ADMIN ---\n";
for(auto& s : students){
std::cout << s.nom << " : ";
for(int n : s.notes) std::cout << n << " ";
std::cout << "\n";
}
} else if(currentUser.role == PROF){
std::cout << "--- PROF ---\n";
for(int i=0;i<students.size();i++){
std::cout << i << ". " << students[i].nom << " : ";
for(int n : students[i].notes) std::cout << n << " ";
std::cout << "\n";
}
int id, noteIndex, newNote;
std::cout << "ID étudiant à modifier (-1 pour quitter) : ";
std::cin >> id;
if(id>=0){
std::cout << "Note (0-2) : "; std::cin >> noteIndex;
std::cout << "Nouvelle note : "; std::cin >> newNote;
students[id].notes[noteIndex] = newNote;
}
} else { // STUDENT
std::cout << "--- STUDENT ---\n";
for(auto& s : students){
if(s.nom == currentUser.login){
std::cout << s.nom << " : ";
for(int n : s.notes) std::cout << n << " ";
std::cout << "\n";
}
}
}
// Export / Import
exportData("data.txt", students);
importData("data.txt", students);
return 0;
}