-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.cpp
147 lines (126 loc) · 5.35 KB
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#include<iostream>
#include<string>
#include<vector>
#include"gererabsence.cpp"
#include<algorithm>
using namespace std;
void afficherMenu() {
cout<<" Menu \n";
cout << "1. Ajouter un etudiant" << "\n"
<< "2. Ajouter un cours" << "\n"
<< "3. Ajouter une absence" << "\n"
<< "4. Afficher les absences" << "\n"
<< "5. Afficher les etudients" << "\n"
<< "6. Afficher les cours" << "\n"
<< "7. Quitter " << "\n"
<< "Choisissez une option : ";
}
void affichage(vector<etudient> listeEtudients) {
cout<<"*******************************************************************************************\n";
cout<<"la liste des etudient :\n";
for (int i = 0; i < listeEtudients.size(); i++) {
cout << "Nom: " << listeEtudients[i].get_nom() <<" " << "Prenom: " << listeEtudients[i].get_prenom() <<" "<< "CNE: " << listeEtudients[i].get_CNE() << endl;
}
cout<<"*******************************************************************************************\n";
}
void affichage1(vector<cours> listeCours) {
cout<<"*******************************************************************************************\n";
cout<<"la liste des cours :\n";
for (int i = 0; i < listeCours.size(); i++) {
cout << "Code: " << listeCours[i].getCode() <<" "<< "Titre: " << listeCours[i].getTitre() << endl;
}
cout<<"*******************************************************************************************\n";
}
bool verifierMotDePasse() {
const string motDePasseCorrect = "ESTSB";
string motDePasse;
cout << "Entrez le mot de passe : ";
cin >> motDePasse;
return motDePasse == motDePasseCorrect;
}
int main() {
bool continuer = true;
vector<etudient> listeEtudients;
vector<cours> listeCours;
GestionnaireAbsences gestionnaireAbsences;
while (continuer) {
int choix;
if (verifierMotDePasse()) {
do {
afficherMenu();
cin >> choix;
switch (choix) {
case 1: {
int CNE;
string nom, prenom;
cout << "Entrez le CNE de l'etudiant : ";
cin >> CNE;
cout << "Entrez le nom de l'etudiant : ";
cin >> nom;
cout << "Entrez le prenom de l'etudiant : ";
cin >> prenom;
auto it = find_if(listeEtudients.begin(), listeEtudients.end(), [CNE](const etudient& et) {
return et.get_CNE() == CNE;
});
if (it == listeEtudients.end()) {
etudient e(CNE, nom, prenom);
listeEtudients.push_back(e);
} else {
cout << "Etudiant avec ce CNE existe deja." << endl;
}
break;
}
case 2: {
int code;
string titre;
cout << "Entrez le code du cours : ";
cin >> code;
cout << "Entrez le titre du cours : ";
cin.ignore(); // Ignorer le caractère de nouvelle ligne résiduel
getline(cin, titre);
cours c(code, titre);
listeCours.push_back(c);
break;
}
case 3: {
}
case 4: {
int code_cours;
cout << "Entrez le code du cours pour afficher les absences : ";
cin >> code_cours;
auto it = find_if(listeCours.begin(), listeCours.end(), [code_cours](const cours& cours) {
return cours.getCode() == code_cours;
});
if (it != listeCours.end()) {
gestionnaireAbsences.imprimerAbsences(*it);
} else {
cout << "Cours non trouve." << endl;
}
break;
}
case 5:
affichage(listeEtudients);
break;
case 6:
affichage1(listeCours);
break;
case 7:
cout << "Quitter le programme." << endl;
break;
default:
cout << "Choix invalide. Reessayez." << endl;
break;
}
} while (choix != 7);
} else {
cout << "Erreur de mot de passe!" << endl;
}
char redemarrer;
cout << "Pour redemarrer le programme saisir (o) : ";
cin >> redemarrer;
if (redemarrer != 'o' && redemarrer != 'O') {
continuer = false;
}
}
return 0;
}