-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathelev.cpp
More file actions
92 lines (80 loc) · 1.72 KB
/
elev.cpp
File metadata and controls
92 lines (80 loc) · 1.72 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
#include "elev.h"
Elev::Elev(std::string a, int b, std::string c)
{
Profesor = c;
clasa = b;
Nume = a;
Algorithms.clear();
Problems = 0;
tasks.clear();
}
Elev::Elev()
{
Nume = "";
Profesor = "";
clasa = 0;
Algorithms.clear();
Problems = 0;
tasks.clear();
}
Elev::~Elev()
{
Nume = "";
Profesor = "";
clasa = 0;
Algorithms.clear();
Problems = 0;
tasks.clear();
}
Elev::Elev(const Elev& elev)
{
Nume = elev.Nume;
clasa = elev.clasa;
Profesor = elev.Profesor;
Algorithms = elev.Algorithms;
Problems = elev.Problems;
tasks = elev.tasks;
}
Elev Elev::operator=(const Elev& elev)
{
this->Nume = elev.Nume;
this->clasa = elev.clasa;
this->Profesor = elev.Profesor;
this->Algorithms = elev.Algorithms;
this->Problems = elev.Problems;
this->tasks = elev.tasks;
return *this;
}
std::ostream& operator<<(std::ostream& output, const Elev& elev)
{
output << "Nume elev: " << elev.Nume << '\n';
output << "clasa: " << elev.clasa << '\n';
output << "Profesor indrumator: " << elev.Profesor << '\n';
output << "Elevul a invatat " << elev.Algorithms.size() << " algoritmi si tehnici" << '\n';
output << "Elevul a rezolvat " << elev.Problems << " probleme" << '\n';
return output;
}
void Elev::insert_algo(std::string s)
{
Algorithms.push_back(s);
}
void Elev::insert_task(int p)
{
this->tasks.insert(p);
}
void Elev::solved_task(int p)
{
this->tasks.erase(p);
}
std::string Elev::get_name()
{
return Nume;
}
int Elev::get_score()
{
return Problems;
}
void Elev::update_score(int val)
{
Problems = val;
}