From e755f5933a40f68c738eb6c9868b06205df03c8a Mon Sep 17 00:00:00 2001 From: "Andrew.Binder" Date: Wed, 14 Mar 2018 21:08:58 +0000 Subject: [PATCH] Error checking for userrnames --- Teacher.cpp | 29 ++++++++++++++++++++--------- Teacher.h | 4 +++- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/Teacher.cpp b/Teacher.cpp index 99b1f09..2c0b190 100644 --- a/Teacher.cpp +++ b/Teacher.cpp @@ -15,7 +15,7 @@ ifstream fin; // Input: none // Output: object with teacher username of NULL Teacher::Teacher() { - userName = "NULL"; + userName = "teacher"; } // Default Constructor @@ -69,7 +69,7 @@ void Teacher::displayMenu() { cout << "Your username is currently " << userName << "." << endl; cout << "Please input a new username: "; cin >> stringIn; - setUserName(stringIn); + setUserName(stringIn); // ******* Check for student username break; case 6: // Change Exit Code cout << "The exit code is currently " << exitCode << "." << endl; @@ -177,6 +177,8 @@ void Teacher::importProgress() { void Teacher::enrollStudent(string studentIn) { int validName = checkRoster(studentIn); // Check if username exists in roster + // Check for teacher username *********** + // If the name is valid, enroll the student, otherwise output an error if (validName == -1) { roster.push_back(studentIn); @@ -192,16 +194,23 @@ void Teacher::enrollStudent(string studentIn) { void Teacher::adjustProgress(string studentUserNameIn, int level) { int studentNumber = checkRoster(studentUserNameIn); // Check if student exists/Get student position in vector - // If the username exists, change the level and output success to console - // Otherwise, output an error - if (studentNumber >= 0) { - int lastLevel = roster.at(studentNumber).getLevel(); - roster.at(studentNumber).setLevel(level); - cout << roster.at(studentNumber).getUserName() << "'s level was changed from level " << lastLevel << " to " << roster.at(studentNumber).getLevel() << "." << endl; + Student *studentLevel = new Student; + + if (level > studentLevel.getMaxLevel()) { + cout << "Error: Level too high!" << endl; } else { - cout << "Error: Student not found!" << endl; + // If the username exists, change the level and output success to console + // Otherwise, output an error + if (studentNumber >= 0) { + int lastLevel = roster.at(studentNumber).getLevel(); + roster.at(studentNumber).setLevel(level); + cout << roster.at(studentNumber).getUserName() << "'s level was changed from level " << lastLevel << " to " << roster.at(studentNumber).getLevel() << "." << endl; + } else { + cout << "Error: Student not found!" << endl; + } } + delete studentLevel; } // Saves and ends program safely and gracefully @@ -244,6 +253,8 @@ void Teacher::setExitCode(string exitCodeIn) { void Teacher::setUserName(string userNameIn) { userName = userNameIn; + + // Check if username exists in student vector ******** } void Teacher::setStudent(Student studentIn) { diff --git a/Teacher.h b/Teacher.h index 47f1681..0513b71 100644 --- a/Teacher.h +++ b/Teacher.h @@ -55,4 +55,6 @@ class Teacher { }; -#endif //TEACHER_H \ No newline at end of file +#endif //TEACHER_H + +// \ No newline at end of file -- GitLab