mirror of
https://github.com/tiennm99/BTL_KTLT.git
synced 2026-10-03 03:18:55 +00:00
Update #3
Chỉnh sửa: -Khi xoá student thì sẽ xoá luôn thông tin trong student_course liên quan đến student ấy, khi xoá teacher thì sẽ xoá luôn các course của teacher ấy -Fix some bugs
This commit is contained in:
1 parent
e1490a2dd5
commit
9ada3b29b4
7 files changed
+44
-20
No files matched your search
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
+6
-6
@@ -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<string> 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<string> 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<string> 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<string> 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 {
|
||||
|
||||
@@ -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<string> 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<string> 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<string> agvList);
|
||||
#endif // !_PROCESS_H_
|
||||
|
||||
@@ -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"
|
||||
|
+5
-1
@@ -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"
|
||||
|
@@ -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
|
||||
|
Reference in new issue
Block a user