From 06b244736c7b1c313ee61ee35a6bb3760b05dab6 Mon Sep 17 00:00:00 2001 From: Jared Sexton Date: Wed, 7 Mar 2018 23:18:31 +0000 Subject: [PATCH] Added a MAIN program --- MAIN.cpp | 57 ++++++++++++++++++ .../GroupProjectUML.png | Bin PROPOSAL.md => REFERENCES/PROPOSAL.md | 0 .../Procedural Flow Diagram.png | Bin README.md => REFERENCES/README.md | 0 .../SPECIFICATIONS.md | 0 _GRADE.md => REFERENCES/_GRADE.md | 0 code_review.md => REFERENCES/code_review.md | 0 .../groups_for_section_b.md | 0 Teacher.cpp | 10 +++ Teacher.h | 3 + classProgress.txt | 1 + classRoster.txt | 2 + 13 files changed, 73 insertions(+) create mode 100644 MAIN.cpp rename GroupProjectUML.png => REFERENCES/GroupProjectUML.png (100%) rename PROPOSAL.md => REFERENCES/PROPOSAL.md (100%) rename Procedural Flow Diagram.png => REFERENCES/Procedural Flow Diagram.png (100%) rename README.md => REFERENCES/README.md (100%) rename SPECIFICATIONS.md => REFERENCES/SPECIFICATIONS.md (100%) rename _GRADE.md => REFERENCES/_GRADE.md (100%) rename code_review.md => REFERENCES/code_review.md (100%) rename groups_for_section_b.md => REFERENCES/groups_for_section_b.md (100%) diff --git a/MAIN.cpp b/MAIN.cpp new file mode 100644 index 0000000..bdffb87 --- /dev/null +++ b/MAIN.cpp @@ -0,0 +1,57 @@ +/* ============================================================================ + Main Function + g++ -std=c++11 MAIN.cpp Questions.cpp Teacher.cpp -o MAIN.cpp.o && ./MAIN.cpp.o + Student.cpp + ============================================================================ +*/ + +#include "Questions.h" +#include "Student.h" +#include "Teacher.h" +#include // For cout and cin +using namespace std; + +int main() { + Teacher teacher; + + teacher.importProgress(); + + string currentUser; + bool keepRunning = true; + do { + cout << "Please enter your user name: "; + cin >> currentUser; + if (cin) { + if(currentUser == teacher.getExitCode()) { + keepRunning = false; + } + else if (currentUser == teacher.getUserName()) { + do { + teacher.displayMenu(); + if (!teacher.getMenuActive()) { + break; + } + } while (true); + } + else if (teacher.checkRoster(currentUser)) { + + + // Insert Student Menu Here... + cout << "Student Menu: \n"; + + + } + else { + cin.clear(); + cin.ignore(100,'\n'); + cerr << "Invalid user name.\n"; + } + } else { + cin.clear(); + cin.ignore(100,'\n'); + cerr << "Invalid user name.\n"; + } + } while(keepRunning); + + return 0; +} \ No newline at end of file diff --git a/GroupProjectUML.png b/REFERENCES/GroupProjectUML.png similarity index 100% rename from GroupProjectUML.png rename to REFERENCES/GroupProjectUML.png diff --git a/PROPOSAL.md b/REFERENCES/PROPOSAL.md similarity index 100% rename from PROPOSAL.md rename to REFERENCES/PROPOSAL.md diff --git a/Procedural Flow Diagram.png b/REFERENCES/Procedural Flow Diagram.png similarity index 100% rename from Procedural Flow Diagram.png rename to REFERENCES/Procedural Flow Diagram.png diff --git a/README.md b/REFERENCES/README.md similarity index 100% rename from README.md rename to REFERENCES/README.md diff --git a/SPECIFICATIONS.md b/REFERENCES/SPECIFICATIONS.md similarity index 100% rename from SPECIFICATIONS.md rename to REFERENCES/SPECIFICATIONS.md diff --git a/_GRADE.md b/REFERENCES/_GRADE.md similarity index 100% rename from _GRADE.md rename to REFERENCES/_GRADE.md diff --git a/code_review.md b/REFERENCES/code_review.md similarity index 100% rename from code_review.md rename to REFERENCES/code_review.md diff --git a/groups_for_section_b.md b/REFERENCES/groups_for_section_b.md similarity index 100% rename from groups_for_section_b.md rename to REFERENCES/groups_for_section_b.md diff --git a/Teacher.cpp b/Teacher.cpp index 979263c..44cebd0 100644 --- a/Teacher.cpp +++ b/Teacher.cpp @@ -230,6 +230,16 @@ void Teacher::endProgram() { exit(0); } +// Checks the roster for a given student, and returns true if found. +bool Teacher::checkRoster(string student) { + for (int i = 0; i < roster.size(); i++) { + if (roster.at(i).getUserName() == student) { + return true; + } + } + return false; +} + // Accessors const string Teacher::getUserName() { return userName; diff --git a/Teacher.h b/Teacher.h index e248a44..930e2fc 100644 --- a/Teacher.h +++ b/Teacher.h @@ -28,6 +28,9 @@ class Teacher { void adjustProgress(string studentUserNameIn, int level); // Changes a students level; includes error checking for student username void endProgram(); // saves and ends program gracefully + /* Andrew - I added this function to search for a given student in the roster (for use in login stage) */ + bool checkRoster(string student); + // Accessors const string getUserName(); const string getExitCode(); diff --git a/classProgress.txt b/classProgress.txt index ce18dbf..a9230db 100644 --- a/classProgress.txt +++ b/classProgress.txt @@ -14,3 +14,4 @@ inghro | 2 umalno | 1 grifno | 1 levina | 4 +Andrew | 500 diff --git a/classRoster.txt b/classRoster.txt index ad8c142..3656313 100644 --- a/classRoster.txt +++ b/classRoster.txt @@ -12,4 +12,6 @@ umalno 1 grifno 1 levina 4 Andrew 500 +Sam 2 +Jared 1 END_OF_FILE \ No newline at end of file -- GitLab