-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEtudiant.cpp
More file actions
111 lines (84 loc) 路 2.2 KB
/
Copy pathEtudiant.cpp
File metadata and controls
111 lines (84 loc) 路 2.2 KB
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
#include "Etudiant.h"
Etudiant::Etudiant(string cin, string nom, string prenom, Date d, string cne,string f)
: Personne(cin, nom, prenom, d), CNE(cne)
{
filiere = f;
}
Etudiant::~Etudiant()
{
for(int i = 0; i < inscriptions.size(); i++)
delete inscriptions[i];
}
string Etudiant::getCNE()
{
return CNE;
}
void Etudiant::inscrireModule(Module* m)
{
inscriptions.push_back(new Inscription(m));
}
float Etudiant::calculerMoyenneGenerale()
{
float somme = 0;
float totalCoef = 0;
for(int i = 0; i < inscriptions.size(); i++)
{
float moyModule = inscriptions[i]->calculerMoyenneModule();
float coef = inscriptions[i]->getModule()->getCoef();
somme += moyModule * coef;
totalCoef += coef;
}
if(totalCoef == 0)
return 0;
return somme / totalCoef;
}
void Etudiant::afficherDecision()
{
float moy = calculerMoyenneGenerale();
if(moy >= 10)
cout << "Admis" << endl;
else
cout << "Ajourn茅" << endl;
}
void Etudiant::ajouterControle(string codeModule, Controle* c)
{
for(int i = 0; i < inscriptions.size(); i++)
{
if(inscriptions[i]->getModule()->getCode() == codeModule)
{
inscriptions[i]->ajouterControle(c);
return;
}
}
cout << "Module non trouve pour cet etudiant.\n";
}
bool Etudiant::semestreValide()
{
if(calculerMoyenneGenerale() >= 10)
return true;
else
return false;
}
string Etudiant::getFiliere()
{
return filiere;
}
void Etudiant::setFiliere(string f)
{
filiere = f;
}
// on a utiliser cette fonction pour chercher code dans la procedure moyenneGeneraleParModule()
float Etudiant::moyenneModule(const string codeModule)
{
for(int i = 0; i < inscriptions.size(); i++)
{
if(inscriptions[i]->getModule()->getCode() == codeModule)
return inscriptions[i]->calculerMoyenneModule();
}
return -1;
}
//on a fait cette fonction pour save car class Inscription et private donc pas acces...
vector<Inscription*> Etudiant::getInscriptions()
{
return inscriptions;
}