// 登录成功,进入学生菜单 Student student = { id, password,{} }; int choice; do { studentMenu(); cin >> choice; switch (choice) { case 1: {// 查看可选课程 showCourseList(); break; } case 2: { // 选课 cout << "请输入要选的课程编号:" << endl; string code; cin >> code; for (size_t i = 0; i < courses.size(); i++) { if (courses[i].code == code) { // 找到课程,添加到已选课程列表 student.courses.push_back(courses[i]); cout << "选课成功!" << endl; break; } if (i == courses.size() - 1) { // 未找到课程 cout << "没有找到对应的课程,请重新输入!" << endl; } } break; } case 3: { // 查看已选课程 if (student.courses.empty()) { cout << "您还没有选课!" << endl; } else { cout << "已选课程:" << endl; for (size_t i = 0; i < student.courses.size(); i++) { cout << i + 1 << ". " << student.courses[i].name << "(编号:" << student.courses[i].code << ",地点:" << student.courses[i].location << ",学分:" << student.courses[i].credit << ")" << endl; } } break; } case 0: // 退出 break; default: cout << "无效的选择,请重新输入!" << endl; break; }代码内容
时间: 2024-04-07 08:27:59 浏览: 111
student学生系统代码
这段代码主要实现了学生登录成功后的菜单,包括查看可选课程、选课、查看已选课程等功能。
具体来说,程序会先根据学生的 id 和 password 创建一个 Student 对象,其中 courses 属性为空,表示未选课程。之后通过 do-while 循环显示学生菜单,让用户输入选择,然后根据用户的选择使用 switch 语句来调用对应的函数。
如果用户选择查看可选课程,程序会调用 showCourseList 函数来显示可选课程列表。如果用户选择选课,程序会让用户输入要选的课程编号,然后通过遍历 courses 列表来查找对应的课程,如果找到了课程则将其添加到学生的 courses 列表中,否则提示用户未找到对应的课程。如果用户选择查看已选课程,则会遍历学生的 courses 列表,逐个输出已选课程的信息。如果学生的 courses 列表为空,则提示用户还未选课。
如果用户输入的选择既不是 1、2、也不是 0,那么程序会输出无效的选择信息并重新显示学生菜单,直到用户输入 0 退出程序为止。
总的来说,这段代码的设计思路比较清晰,将不同的学生功能分别封装成不同的函数,通过 switch 语句来根据用户的选择调用对应的函数,使得代码结构更加清晰明了。同时,通过使用 Student 对象来存储学生信息和已选课程列表,也方便了学生功能的实现。
阅读全文