This repository was archived by the owner on Jun 18, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathClass.h
74 lines (60 loc) · 1.49 KB
/
Class.h
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
#pragma once
#include <vector>
#include <map>
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
double convv(string time) {
int hour = stoi(time.substr(0, 2));
int minute = stoi(time.substr(3, 2));
string period = time.substr(6, 2);
string military_time;
if (period == "pm" && hour >= 1 && hour != 12) {
hour += 12;
}
else if (hour == 12 && period == "am") {
hour = 0;
}
return hour + (minute * (1.0 / 60.0));
}
struct Professor {
Professor() {
start_time = 0;
end_time = 0;
RMP_overall = 0;
}
string name;
string class_name;
string days;
double start_time; // military time
double end_time;
double RMP_overall;
};
class Class
{
public:
Class(string class_name) : class_name(class_name) {};
void insert(string prof, string days_, string time, double RMP) {
double start = convv(time.substr(0,8));
double end = convv(time.substr(9, 8));
professors.push_back(new Professor);
professors.back()->name = prof;
professors.back()->class_name = class_name;
professors.back()->days = days_;
professors.back()->start_time = start;
professors.back()->end_time = end;
professors.back()->RMP_overall = RMP;
}
void print() {
cout << class_name << ": " << endl;
for (const auto& x : professors) {
cout << x->name;
cout << ", " << x->start_time << "-" << x->end_time << ", " << x->days << ", " << x->RMP_overall << endl;
cout << fixed << setprecision(2);
}
cout << endl;
}
vector<Professor* > professors;
string class_name;
};