-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathClass.cpp
More file actions
58 lines (46 loc) · 1.64 KB
/
Class.cpp
File metadata and controls
58 lines (46 loc) · 1.64 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
#include "Class.h"
#include <fstream>
#include <sstream>
using namespace std;
std::string const Class::getClassCode(){return classCode_;}
std::string const Class::getUcCode() {return ucCode_;}
std::list<Slot> const Class::getClassSchedule() { return classSchedule_; }
Class::Class() : classCode_("null"), ucCode_("null"), classSchedule_({}) {;}
Class::Class(std::string classCode, std::string ucCode, list<Slot> classSchedule) : classCode_(classCode), ucCode_(ucCode), classSchedule_(classSchedule) {;}
std::vector<Class> Class::Read(const std::string &filename) {
ifstream file(filename);
string line;
getline(file,line);
line = "";
vector<Class> result;
while (getline(file, line)) {
stringstream inputString(line);
std::string classCode, ucCode, weekDay, startHour, duration, type;
getline(inputString, classCode, ',');
getline(inputString, ucCode, ',');
getline(inputString, weekDay, ',');
getline(inputString, startHour, ',');
getline(inputString, duration, ',');
getline(inputString, type, ',');
list<Slot> classSchedule = Slot::readSlot(filename, classCode, ucCode);
Class object(classCode, ucCode, classSchedule);
result.push_back(object);
line = "";
}
return result;
}
Slot Class::getTP() {
Slot result = Slot("Monday", 0, 0, "TP");
for (Slot s : classSchedule_) {
if (s.getType() == "TP")
return s;
}
return result;
}
void Class::print() {
std:: cout << classCode_ << ',' << ucCode_ << ',';
cout << '\n';
for (Slot s : classSchedule_){
cout << '\t';
s.print();}
}