// File: Stud_tst.cpp // Test student class #include "Student.h" #include "Char_ops.h" #include char StudentMenu(); void AddClass(Student &); void ChangeClass(Student &); void RemoveClass(Student &); void SetStudentName(Student &); void main() {Student StudentA("Bob Jones"); char Choice; do { switch (Choice=StudentMenu()) { case 'A':AddClass(StudentA);break; case 'C':if (StudentA.HoursCompleted()) ChangeClass(StudentA);break; case 'R':if (StudentA.HoursCompleted()) RemoveClass(StudentA);break; // case 'P':StudentA.PrintStudentInfo();break; case 'P':cout << StudentA;break; case 'H':cout << "Hours Completed:" << StudentA.HoursCompleted() << endl; break; case 'S':SetStudentName(StudentA);break; } } while (Choice!='E'); cout << StudentA; Student S2("ABCD",10,30); cout << "New Student:\n" << S2 << endl; if (StudentA>>=S2) cout << "1st Student has a higher GPA"; else cout << "2nd Student has a higher GPA"; cout.flush(); // Need it again! } char StudentMenu() {cout << "\nSelect:\n"; cout << "\tA)dd Class\n"; cout << "\tC)hange Grade\n"; cout << "\tR)emove Class\n"; cout << "\tP)rint Student\n"; cout << "\tH)ours Completed\n"; cout << "\tS)tudent Name\n"; cout << "\tE)xit\n"; cout.flush(); // Need this in VS C++ return (GetChoice("ACRPHSE")); } void SetStudentName(Student &S) {char Name[NameLength]; cout << "Enter Student Name >"; cout.flush(); cin >> Name; S.SetName(Name); } void AddClass(Student &S) {CourseData data; cout << "#Hours? >"; cout.flush(); cin >> data.Hours; cout << "Grade? (A-D,F) >"; cout.flush(); data.Grade=GetChoice("ABCDF");; S+=data; } void ChangeClass(Student &S) {int Hours; char OldGrade,NewGrade; cout << "#Hours? >"; cout.flush(); cin >> Hours; cout << "Old Grade? (A-D,F) >"; cout.flush(); OldGrade=GetChoice("ABCDF"); cout << "New Grade? (A-D,F) >"; cout.flush(); NewGrade=GetChoice("ABCDF");; S.ChangeGrade(Hours,OldGrade,NewGrade); } void RemoveClass(Student &S) {CourseData data; cout << "#Hours? >"; cout.flush(); cin >> data.Hours; cout << "Grade? (A-D,F) >"; cout.flush(); data.Grade=GetChoice("ABCDF");; S-=data; }