Repository navigation
Expand file tree
/
Copy pathDatabase.h
More file actions
58 lines (43 loc) · 1.61 KB
/
Copy pathDatabase.h
File metadata and controls
58 lines (43 loc) · 1.61 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 "BinaryTree.h"
#include "Student.h"
#include "Faculty.h"
#include "genstack.h"
class Database
{
private:
BinaryTree<Faculty> masterFaculty;
BinaryTree<Student> masterStudent;
BinaryTree<Faculty> *facultyPrev; //Faculty Rollbacks
BinaryTree<Faculty> *facultyPrev1;
BinaryTree<Faculty> *facultyPrev2;
BinaryTree<Faculty> *facultyPrev3;
BinaryTree<Faculty> *facultyPrev4;
BinaryTree<Student> *studentPrev; //Student Rollbacks
BinaryTree<Student> *studentPrev1;
BinaryTree<Student> *studentPrev2;
BinaryTree<Student> *studentPrev3;
BinaryTree<Student> *studentPrev4;
genstack<BinaryTree<Faculty>*> facultyRollback=genstack<BinaryTree<Faculty>*>(5);
genstack<BinaryTree<Student>*> studentRollback=genstack<BinaryTree<Student>*>(5);
genstack<int> options=genstack<int>(5);
public:
Database();
~Database();
void printStudents();
void printFaculty();
void findStudent(int ID);
void findFaculty(int ID);
void findStudentAdv(int ID);
void printAdvStudents(int ID);
void addStudent(string M, double gpa, int A, int id, string name, string level);
void removeStudent(int studentID);
void addAdvisor(string D, int id, string name, string level);
void removeAdvisor(int advisorID, int newAdvisorID);
void changeStudentAdv(int studentID, int advisorID);
void removeAdvStudent(int advisorID, int studentID);
void rollback();
void emptyStudentStack(genstack <BinaryTree<Student>*> studentRollback);
void emptyFacultyStack(genstack <BinaryTree<Faculty>*> facultyRollback);
void fixOptionStack(genstack<int> options);
void mainLoop();
};