-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdriver.cpp
112 lines (90 loc) · 3.28 KB
/
driver.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
#include <iostream>
#include <cstdlib>
#include <string>
#include "database.h"
#define PRINT(x) std::cout << x;
int main(void)
{
system("clear");
for (;;)
{
PRINT("0: Add Student\n");
PRINT("1: Read Database\n");
PRINT("2: Save Database\n");
PRINT("3: Display Given Student Data\n");
PRINT("4: Grade Given Student\n");
PRINT("q: Quit\n\n");
PRINT("Enter a given number (or q to quit) and press return: ")
/*
std::cout << "\n0: Add Student\n\
1: Read Database\n\
2: Save Database\n\
3: Display Given Student Data\n\
4: Grade Given Student\n\
q: Quit\n\n\
Enter a given number (or q to quit) and press return: ";*/
char entered;
std::cin >> entered;
// std::cout << entered;
CHNJAR003::Student tempStudent; //temporary Student structure to hold details of one student record.
std::string fileName;
std::string studentNumber;
switch (entered)
{
case '0':
//std::cout << "\nPlease enter student details:";
PRINT("\nPlease enter student details:");
PRINT("\nEnter first name: ");
std::cin >> tempStudent.fName;
PRINT("\nEnter last name: ");
std::cin >> tempStudent.sName;
PRINT("\nEnter student number: ");
std::cin >> tempStudent.studentNumber;
PRINT("\nEnter class record (e.g. 78 67 89 91): ");
//std::cin >> tempStudent.classRecord;
std::cin.ignore();
getline(std::cin, tempStudent.classRecord);
CHNJAR003::addStudent(tempStudent.fName, tempStudent.sName, tempStudent.studentNumber, tempStudent.classRecord);
PRINT("Function addStudent() called.\n\n");
break;
case '1':
//std::cout << "\nPlease enter database file name: ";
PRINT("\nPlease enter database file name: ");
std::cin >> fileName;
CHNJAR003::readDatabase(fileName);
std::cout << "\nFunction readDatabase() called with file name: " << fileName << "\n";
break;
case '2':
PRINT("\nPlease enter file name: ");
std::cin >> fileName;
CHNJAR003::saveDatabase(fileName);
PRINT("\nFunction saveDatabase() called.\n");
break;
case '3':
PRINT("\nPlease enter student number of desired student's record: ");
std::cin >> studentNumber;
PRINT("\nFunction displayStudentData() called.\n");
PRINT(CHNJAR003::displayStudentData(studentNumber));
break;
case '4':
PRINT("\nPlease enter student number of desired student's average class record: ");
std::cin >> studentNumber;
PRINT("\nFunction gradeStudent() called.\n")
float average = CHNJAR003::gradeStudent(studentNumber);
if (average != -1)
{
PRINT("Average mark for " + studentNumber + ": " + std::to_string(average) + "\n\n");
}
else
{
PRINT("Student record could not be found.\n");
}
break;
}
if (entered == 'q')
{
break;
}
}
return 0;
}