-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstudent.cpp
148 lines (129 loc) · 3.58 KB
/
student.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
148
//============================================================================
// Name : student.cpp
// Author : Alexander M. Westphal / Paul Schröder
// Version : Version 1.0
// Copyright : Alexander M. Westphal / Paul Schröder
// Description : Studentclass - Class that represents a Student Object.
// Compiler and C++ Version: GNU GCC / C++11 Standard
//============================================================================
#include "student.h"
#include <iostream>
/**
* Getter for the Matrikelnummer.
* return the Matrikelnummer.
*/
const int Student::getMatrikelNumber() const {
return matrikelNummer;
}
/**
* Getter for the Birthday.
* return the Birthday.
*/
int Student::getGeburtstag() {
return geburtstag;
}
/**
* Getter for the Name.
* return the name.
*/
char* Student::getName() {
return name;
}
/**
* Getter for the vorname
* return the vorname;
*/
char* Student::getVorname() {
return vorname;
}
/**
* Setter for the MatrikelNummer
* MatrikelNummer will be set to given parameter.
*/
void Student::setMatrikelNumber(const int number) {
matrikelNummer = number;
}
/**
* Setter for the Name.
* Name will be set to the given parameter.
*/
void Student::setName(char* name2) {
strncpy(name2, this -> name, sizeof(name2));
}
/**
* Setter for the Vorname.
* Vorname will be set to given parameter.
*/
void Student::setVorname(char* vorname2) {
strncpy(vorname2, this -> vorname, sizeof(vorname2));
}
/**
* Setter for the Birthday.
* Birthday will be set to given parameter.
*/
void Student::setGeburtstag(const int geb) {
geburtstag = geb;
}
/**
* Konstruktor for the Class Student.
*/
Student::Student(int MatNum, char* p_name, char* p_vorname, int geb) {
matrikelNummer = MatNum;
strncpy(name, p_name, 10);
strncpy(vorname, p_vorname, 10);
geburtstag = geb;
}
/**
* Destruktor for the Class Student.
*/
Student::Student() {}
/**
* Method to check whether two Matrikelnummern are Equal.
*/
bool Student::operator == (const Student &stu2) {
return getMatrikelNumber() == stu2.getMatrikelNumber();
}
/**
* Method to check whether two Matrikelnummern are not Equal
*/
bool Student::operator != (Student &stu2) {
return getMatrikelNumber() != stu2.getMatrikelNumber();
}
/**
* Method to check whether two Matrikelnummern are equal or smaller
*/
bool Student::operator <= (Student &stu2) {
return getMatrikelNumber() <= stu2.getMatrikelNumber();
}
/**
* Method to check whether two Matrikelnummern are equal or bigger
*/
bool Student::operator >= (Student &stu2) {
return getMatrikelNumber() >= stu2.getMatrikelNumber();
}
/**
* Method to check whether two Matrikelnummern are smaller
*/
bool Student::operator < (Student &stu2) {
return getMatrikelNumber() < stu2.getMatrikelNumber();
}
/**
* Method to check whether two Matrikelnummern are equal or bigger
*/
bool Student::operator > (Student &stu2) {
return getMatrikelNumber() > stu2.getMatrikelNumber();
}
/**
* Method put a student-object on a outputstream.
* @param ostr outout stream as param
*/
void Student::write(ostream& ostr) {
ostr << "Matrikelnummer:" << getMatrikelNumber() << " Nachname:" << getName() << " Vorname:" << getVorname() << " Geburtstag:" << getGeburtstag() << endl;
}
/**
* Method to grep information from a inputstream.
* @param istr input stream as param.
*/
void Student::read(istream& istr) {
istr >> matrikelNummer >> name >> vorname >> geburtstag;
}