diff --git a/Admin.h b/Admin.h index bb13b07..abe6e31 100644 --- a/Admin.h +++ b/Admin.h @@ -31,7 +31,7 @@ public: } } - bool removeUser(string username, UserList &db_user_list, StudentList &db_st_list, TeacherList &db_tc_list) { + bool removeUser(string username, UserList &db_user_list, StudentList &db_st_list, TeacherList &db_tc_list, CourseList &db_course_list, StudentCourseList &db_st_course_list) { int index = db_user_list.findUserByUsername(username); if (index == -1 || db_user_list.list[index].role == "admin") { return 0; @@ -46,21 +46,33 @@ public: for (size_t i = 0; i < db_st_list.size; i++) { if (db_st_list.list[i].st_number == id) { db_st_list.removeFromList(i); - db_user_list.removeFromList(index); - return 1; + break; + } + } + for (size_t i = 0; i < db_st_course_list.size; i++) { + if (db_st_course_list.list[i].st_num == id) { + db_st_course_list.removeFromList(i); + break; } } } else { + string name; for (size_t i = 0; i < db_tc_list.size; i++) { if (db_tc_list.list[i].tc_identify == username) { + name = db_tc_list.list[i].tc_name; db_tc_list.removeFromList(i); - db_user_list.removeFromList(index); - return 1; + break; + } + } + for (size_t i = 0; i < db_course_list.size; i++) { + while (db_course_list.list[i].falcuty == name) { + db_course_list.removeFromList(i); } } } - return 0; + db_user_list.removeFromList(index); + return 1; } } @@ -71,6 +83,9 @@ public: cout << "Input number, name, birthday, \"hometown\": (separate by comma)" << endl; string s; getline(cin, s, ','); + if (s == "q") { + return 0; + } student.username = student.password = s; istringstream iss; iss.str(s); @@ -103,6 +118,9 @@ public: cout << "Input identify, name, birthday, \"phone number\", \"hometown\": (separate by comma)" << endl; string s; getline(cin, s, ','); + if (s == "q") { + return 0; + } tc.tc_identify = teacher.username = teacher.password = s; getline(cin, s, ','); to_upper(s); diff --git a/Main.cpp b/Main.cpp index 8609c91..372467d 100644 --- a/Main.cpp +++ b/Main.cpp @@ -43,7 +43,7 @@ void main() { ad.username = random_user.username; ad.password = random_user.password; ad.role = random_user.role; - if (adminMenu(ad, db_st_list, db_tc_list, db_user_list) == false) { + if (adminMenu(ad, db_st_list, db_tc_list, db_user_list, db_course_list, db_st_course_list) == false) { break; } } diff --git a/Process.cpp b/Process.cpp index 62e9300..00971ef 100644 --- a/Process.cpp +++ b/Process.cpp @@ -475,7 +475,7 @@ bool teacherProcess(Teacher& tc, UserList& user_list, StudentCourseList& db_st_c #pragma region Tien -bool adminMenu(Admin& ad, StudentList& db_st_list, TeacherList& db_tc_list, UserList& user_list) +bool adminMenu(Admin& ad, StudentList& db_st_list, TeacherList& db_tc_list, UserList& user_list, CourseList &db_course_list, StudentCourseList &db_st_course_list) { while (ad.isLogin() == true) { cout << setw(40) << setfill('-') << "-" << "ADMIN" << setw(40) << setfill('-') << "-" << endl; @@ -504,7 +504,7 @@ bool adminMenu(Admin& ad, StudentList& db_st_list, TeacherList& db_tc_list, User else agvList.addToList(agv); } while (true); if (agvList.list[0] == "e" && agvList.size == 1) return false; - if (adminProcess(ad, user_list, db_st_list, db_tc_list, agvList) == true) { + if (adminProcess(ad, user_list, db_st_list, db_tc_list, db_course_list, db_st_course_list, agvList) == true) { } else { @@ -514,7 +514,7 @@ bool adminMenu(Admin& ad, StudentList& db_st_list, TeacherList& db_tc_list, User return true; } -bool adminProcess(Admin& ad, UserList& user_list, StudentList& db_st_list, TeacherList& db_tc_list, arrayList agvList) { +bool adminProcess(Admin& ad, UserList& user_list, StudentList& db_st_list, TeacherList& db_tc_list, CourseList &db_course_list, StudentCourseList &db_st_course_list, arrayList agvList) { if (agvList.list[0] == "cp") { if (agvList.size == 2) { string newPassword = agvList.list[1]; @@ -658,8 +658,8 @@ bool adminProcess(Admin& ad, UserList& user_list, StudentList& db_st_list, Teach else removeList.addToList(username); } while (true); arrayList remove_unsuccess; - for (size_t i = 1; i < removeList.size; i++) { - if (ad.removeUser(removeList.list[i], user_list, db_st_list, db_tc_list) == 1) { + for (size_t i = 0; i < removeList.size; i++) { + if (ad.removeUser(removeList.list[i], user_list, db_st_list, db_tc_list, db_course_list, db_st_course_list) == 1) { } else { @@ -682,7 +682,7 @@ bool adminProcess(Admin& ad, UserList& user_list, StudentList& db_st_list, Teach { arrayList remove_unsuccess; for (size_t i = 1; i < agvList.size; i++) { - if (ad.removeUser(agvList.list[i], user_list, db_st_list, db_tc_list) == 1) { + if (ad.removeUser(agvList.list[i], user_list, db_st_list, db_tc_list, db_course_list, db_st_course_list) == 1) { } else { diff --git a/Process.h b/Process.h index fc868c7..c22a6a4 100644 --- a/Process.h +++ b/Process.h @@ -12,7 +12,7 @@ bool studentProcess(Student&st, UserList& user_list, StudentCourseList&db_st_cou bool studentMenu(Student& st, StudentCourseList db_st_course_list, CourseList db_course_list, UserList user_list); bool teacherMenu(Teacher& tc, StudentCourseList& db_st_course_list, CourseList& db_course_list, UserList user_list); bool teacherProcess(Teacher& tc, UserList& user_list, StudentCourseList&db_st_course_list, CourseList& db_course_list, arrayList agvList); -bool adminMenu(Admin& ad, StudentList& db_st_list, TeacherList& db_tc_list, UserList& user_list); -bool adminProcess(Admin& ad, UserList& user_list, StudentList& db_st_list, TeacherList& db_tc_list, arrayList agvList); +bool adminMenu(Admin& ad, StudentList& db_st_list, TeacherList& db_tc_list, UserList& user_list, CourseList &db_course_list, StudentCourseList &db_st_course_list); +bool adminProcess(Admin& ad, UserList& user_list, StudentList& db_st_list, TeacherList& db_tc_list, CourseList &db_course_list, StudentCourseList &db_st_course_list, arrayList agvList); #endif // !_PROCESS_H_ diff --git a/student.csv b/student.csv index e811163..1f10e25 100644 --- a/student.csv +++ b/student.csv @@ -28,4 +28,3 @@ 1712492,NGUYEN THI NHI,1988-01-27,"Thanh pho Thai Nguyen, Thai Nguyen" 1712493,NGO QUANG DUONG,1986-02-20,"Huyen Phu Luong, Thai Nguyen" 1712494,MO THI THANH KIM HUE,1991-01-16,"Thi xa Song Cong, Thai Nguyen" -1713484,NGUYEN MINH TIEN,26/10/1999,"LA" diff --git a/teacher.csv b/teacher.csv index 27046f3..9158d77 100644 --- a/teacher.csv +++ b/teacher.csv @@ -43,4 +43,8 @@ S0992,DANG DUC DAI,1991-04-19,"01674865304","Huyen Dong Hy, Thai Nguyen" S0993,DO THI MAI,1990-12-17,"01672218926","Huyen Si Ma Cai, Lao Cai" S0994,CHAU THI NGUYET,1987-03-08,"01262412050","Thi xa Song Cong, Thai Nguyen" S0995,TRIEU THI THAO,1985-12-04,"01263314285","Thi xa Song Cong, Thai Nguyen" -New_tc,ANH VAN,01/01/1999,"0123456789","Tp. HCM" +S0996,NGUYEN THI HOANG ANH,1990-02-25,"0984679722","Huyen Pho Yen, Thai Nguyen" +S0997,DANG THI HUONG,1987-12-05,"01657457229","Huyen Dong Hy, Thai Nguyen" +S0998,PHAM THI HIEN,1986-10-12,"01265612176","Huyen Bach Thong, Bac Kan" +S0999,TRUONG THI HANH,1991-12-20,"01657495907","Huyen Phu Luong, Thai Nguyen" +S1000,NGUYEN THI NGOC ANH,1991-08-22,"01657462318","Thanh pho Thai Nguyen, Thai Nguyen" diff --git a/user.csv b/user.csv index 335be41..28c16c4 100644 --- a/user.csv +++ b/user.csv @@ -73,6 +73,9 @@ S0992,S0992,teacher S0993,S0993,teacher S0994,S0994,teacher S0995,S0995,teacher -admin,a,admin -1713484,1713484,student -New_tc,New_tc,teacher +S0996,S0996,teacher +S0997,S0997,teacher +S0998,S0998,teacher +S0999,S0999,teacher +S1000,S1000,teacher +admin,a,admin \ No newline at end of file