Teacher.h 1.32 KB
Newer Older
Andrew Binder's avatar
Andrew Binder committed
1 2 3 4 5
#include <vector>
#include <string>

using namespace std;

Andrew Binder's avatar
Andrew Binder committed
6 7
class Student {
    public:
Andrew Binder's avatar
Andrew Binder committed
8 9 10 11
        Student(string userNameIn) {
            userName = userNameIn;
        }
    
Andrew Binder's avatar
Andrew Binder committed
12 13 14 15 16 17 18
        int getLevel() {
            return level;
        }
        string getUserName() {
            return userName;
        }
        
Andrew Binder's avatar
Andrew Binder committed
19 20 21 22 23 24 25 26
        void setLevel(int levelIn) {
            level = levelIn;
        }
        
        void setUserName(string userNameIn) {
            userName = userNameIn;
        }
        
Andrew Binder's avatar
Andrew Binder committed
27 28 29 30
    private:
        string userName;
        int level = 1;
};
Andrew Binder's avatar
Andrew Binder committed
31 32 33 34 35 36 37 38 39

class Teacher {
    public:
        Teacher(string userNameIn);   //  Default constructor
        
        //  Teacher Functions
        void displayMenu();
        void displayProgress();  //  Opens menu, teacher get get all (gradebook style) or a student
        bool exportProgress();  //  outputProgress() in UML
Andrew Binder's avatar
Andrew Binder committed
40 41
        bool enrollStudent(Student studentIn);
        bool adjustProgress(Student studentIn, int level);
Andrew Binder's avatar
Andrew Binder committed
42 43 44 45 46 47 48 49 50
        void endProgram();
        
        //  Accessors
        const string getUserName();
        const string getExitCode();
        
        //  Mutators
        bool setExitCode(string exitCodeIn);
        bool setUserName(string userNameIn);
Andrew Binder's avatar
Andrew Binder committed
51 52 53 54 55 56
        
    private:
        string userName;
        string exitCode;
        vector<Student> roster;
        
Andrew Binder's avatar
Andrew Binder committed
57
};