Téléverser les fichiers vers "/"

This commit is contained in:
2026-02-20 15:15:19 +00:00
commit 7493367116
5 changed files with 129 additions and 0 deletions

20
CMakeLists.txt Normal file
View File

@@ -0,0 +1,20 @@
cmake_minimum_required(VERSION 3.25)
project(StudentManagementSystem)
set(CMAKE_CXX_STANDARD 17)
add_executable(StudentManagementSystem
main.cpp
models/User.cpp
models/Student.cpp
models/Professor.cpp
models/Admin.cpp
models/Course.cpp
models/Grade.cpp
database/Database.cpp
services/AuthService.cpp
services/ExportService.cpp
)

33
Database.cpp Normal file
View File

@@ -0,0 +1,33 @@
#include "Database.h"
#include "../models/Student.h"
#include "../models/Professor.h"
#include "../models/Admin.h"
#include <iostream>
Database::Database() : isConnected(false) {}
Database::~Database() { disconnect(); }
bool Database::connect(const std::string& host,
const std::string& user,
const std::string& password,
const std::string& dbName) {
std::cout << "Connexion à la base de données simulée sur " << host << "...\n";
isConnected = true;
return isConnected;
}
void Database::disconnect() {
if (isConnected) {
std::cout << "Déconnexion de la base de données.\n";
isConnected = false;
}
}
std::vector<User> Database::getAllUsers() {
std::vector<User> users;
users.push_back(new Admin(1, "admin", "hash_admin"));
users.push_back(new Professor(2, "prof", "hash_prof"));
users.push_back(new Student(3, "student", "hash_student", "student@email.com"));
return users;
}

27
Database.h Normal file
View File

@@ -0,0 +1,27 @@
#ifndef DATABASE_H
#define DATABASE_H
#include <string>
#include <vector>
#include <map>
#include "../models/User.h"
class Database {
public:
Database();
~Database();
bool connect(const std::string& host,
const std::string& user,
const std::string& password,
const std::string& dbName);
void disconnect();
std::vector<User*> getAllUsers();
private:
bool isConnected;
};
#endif

18
README.md Normal file
View File

@@ -0,0 +1,18 @@
Student Management System
Projet réalisé en C++ dans le cadre du BTS CIEL.
Description
Ce projet simule un système de gestion détudiants avec :
Gestion des utilisateurs (Admin, Professeur, Étudiant)
AuthentificationSimulation de base de donnéesExport des données vers un fichier texteArchitecture organisée en dossiers (models, services, database)
Structure du projet
models/ → classes User, Student, Professor, Admin, Course, Grade
services/ → AuthService, ExportServicedatabase/ → Databasemain.cpp → Point dentrée du programmeCMakeLists.txt → Configuration du build
Compilation
```bash
mkdir build
cd build
cmake ..
make

31
main.cpp Normal file
View File

@@ -0,0 +1,31 @@
#include <iostream>
#include "database/Database.h"
#include "services/AuthService.h"
#include "services/ExportService.h"
int main() {
Database db;
db.connect("localhost", "root", "password", "studentdb");
std::string username;
std::string password;
std::cout << "Username: ";
std::cin >> username;
std::cout << "Password: ";
std::cin >> password;
User* user = AuthService::login(db, username, password);
if (user) {
std::cout << "\nConnexion réussie.\n";
user->displayMenu();
ExportService::exportData(user);
} else {
std::cout << "Connexion échouée.\n";
}
db.disconnect();
return 0;
}