// ***************************************************************************** // Author: Andrew Binder // Header file for Teacher class // Comments should explain everything // ***************************************************************************** #include "Student.h" #include #include using namespace std; #ifndef TEACHER_H #define TEACHER_H class Teacher { public: Teacher(); Teacher(string userNameIn); // Default constructor // Teacher Functions void displayMenu(); // Runs menu void displayProgress(); // Opens menu, teacher get get all (gradebook style) or a student void exportProgress(); // outputProgress() in UML void saveProgress(); // Exports roster/progress to a file; this is run whenever log out is selected from menu void importProgress(); // Imports roster/progress from a file void enrollStudent(string studentIn); // Enrolls a new student; includes error checking void adjustProgress(string studentUserNameIn, int level); // Changes a students level; includes error checking for student username int checkRoster(string student); // Returns a student's position on vector if username student exists in vector; Returns -1 if student does not exist void endProgram(); // saves and ends program gracefully // Accessors const string getUserName(); const string getExitCode(); const bool getMenuActive(); const Student getStudent(int vectorPosition); // Mutators void setExitCode(string exitCodeIn); void setUserName(string userNameIn); void setStudent(Student studentIn); // I think it's safe to say that studentIn will be a student in the vector; so the function will find where the student goes in the vector by itself // vector roster; private: bool teacherMenuActive = 1; string userName; string exitCode = "Quit"; vector roster; // Strings for file I/O // If a file location needs to be changed, this is the place to do it! string rosterFileName = "classRoster.txt"; // Used for use by program as import/export string progressFileName = "classProgress.txt"; // Used for teacher export }; #endif //TEACHER_H //