Téléverser les fichiers vers "/"
This commit is contained in:
20
CMakeLists.txt
Normal file
20
CMakeLists.txt
Normal 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
33
Database.cpp
Normal 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
27
Database.h
Normal 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
18
README.md
Normal 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 d’entrée du programmeCMakeLists.txt → Configuration du build
|
||||
Compilation
|
||||
```bash
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
make
|
||||
31
main.cpp
Normal file
31
main.cpp
Normal 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;
|
||||
}
|
||||
Reference in New Issue
Block a user