# studentsystem **Repository Path**: lily_2006/studentsystem ## Basic Information - **Project Name**: studentsystem - **Description**: 学生管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-09 - **Last Updated**: 2025-10-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #include #include #include #include #include using namespace std; // 学生数据结构体 struct Student { int id; // 学号 string name; // 姓名 string className; // 班级 double score; // 成绩 string workStatus; // 工作状态 string department; // 部门 }; // 用户结构体 struct User { string username; // 用户名 string password; // 密码 string role; // 角色 }; // 全局变量 vector students; // 学生数据顺序表 vector users; // 用户数据顺序表 User currentUser; // 当前登录用户 // 函数声明 void initSystem(); void displayMainMenu(); void userRegister(); bool userLogin(); void studentManagement(); void addStudent(); void displayStudents(); void modifyStudent(); void deleteStudent(); void searchStudent(); void analyzeStudents(); void sortStudents(); void saveData(); void loadData(); // 主函数 int main() { initSystem(); // 系统初始化 loadData(); // 加载数据 int choice; bool loggedIn = false; cout << "=== 学生工作管理系统 ===" << endl; do { if (!loggedIn) { // 登录前菜单 cout << "\n========== 系统菜单 ==========" << endl; cout << "1. 用户注册" << endl; cout << "2. 用户登录" << endl; cout << "3. 退出系统" << endl; cout << "==============================" << endl; cout << "请选择操作: "; cin >> choice; switch(choice) { case 1: userRegister(); break; case 2: loggedIn = userLogin(); if (loggedIn) { cout << "登录成功!欢迎 " << currentUser.username << endl; } else { cout << "登录失败!用户名或密码错误。" << endl; } break; case 3: saveData(); cout << "感谢使用学生工作管理系统!" << endl; break; default: cout << "无效选择,请重新输入!" << endl; } } else { // 登录后菜单 displayMainMenu(); cout << "请选择操作: "; cin >> choice; switch(choice) { case 1: addStudent(); break; case 2: displayStudents(); break; case 3: modifyStudent(); break; case 4: deleteStudent(); break; case 5: searchStudent(); break; case 6: analyzeStudents(); break; case 7: sortStudents(); break; case 8: loggedIn = false; cout << "已退出登录!" << endl; break; case 9: saveData(); cout << "感谢使用学生工作管理系统!" << endl; return 0; default: cout << "无效选择,请重新输入!" << endl; } } } while(true); return 0; } // 系统初始化 void initSystem() { // 添加默认管理员用户 users.push_back({"admin", "123456", "admin"}); } // 显示主菜单 void displayMainMenu() { cout << "\n========== 学生工作管理系统 ==========" << endl; cout << "1. 增加学生信息" << endl; cout << "2. 展示学生信息" << endl; cout << "3. 修改学生信息" << endl; cout << "4. 删除学生信息" << endl; cout << "5. 查找学生信息" << endl; cout << "6. 数据分析统计" << endl; cout << "7. 学生信息排序" << endl; cout << "8. 退出登录" << endl; cout << "9. 退出系统" << endl; cout << "=====================================" << endl; } // 用户注册功能 void userRegister() { User newUser; cout << "\n--- 用户注册 ---" << endl; cout << "请输入用户名: "; cin >> newUser.username; // 检查用户名是否已存在 for(const auto& user : users) { if(user.username == newUser.username) { cout << "用户名已存在,请重新选择!" << endl; return; } } cout << "请输入密码: "; cin >> newUser.password; newUser.role = "user"; // 默认角色为普通用户 users.push_back(newUser); cout << "注册成功!" << endl; } // 用户登录功能 bool userLogin() { string username, password; cout << "\n--- 用户登录 ---" << endl; cout << "请输入用户名: "; cin >> username; cout << "请输入密码: "; cin >> password; // 在顺序结构中查找匹配的用户 for(const auto& user : users) { if(user.username == username && user.password == password) { currentUser = user; return true; } } return false; } // 增加学生信息 void addStudent() { Student newStudent; cout << "\n--- 增加学生信息 ---" << endl; cout << "请输入学号: "; cin >> newStudent.id; // 检查学号是否重复 for(const auto& student : students) { if(student.id == newStudent.id) { cout << "学号已存在,请重新输入!" << endl; return; } } cout << "请输入姓名: "; cin >> newStudent.name; cout << "请输入班级: "; cin >> newStudent.className; cout << "请输入成绩: "; cin >> newStudent.score; cout << "请输入工作状态: "; cin >> newStudent.workStatus; cout << "请输入部门: "; cin >> newStudent.department; students.push_back(newStudent); cout << "学生信息添加成功!" << endl; } // 展示学生信息 void displayStudents() { if(students.empty()) { cout << "没有学生信息!" << endl; return; } cout << "\n--- 学生信息列表 ---" << endl; cout << left << setw(10) << "学号" << setw(15) << "姓名" << setw(15) << "班级" << setw(10) << "成绩" << setw(15) << "工作状态" << setw(15) << "部门" << endl; cout << string(80, '-') << endl; for(const auto& student : students) { cout << left << setw(10) << student.id << setw(15) << student.name << setw(15) << student.className << setw(10) << student.score << setw(15) << student.workStatus << setw(15) << student.department << endl; } } // 修改学生信息 void modifyStudent() { int id; cout << "\n--- 修改学生信息 ---" << endl; cout << "请输入要修改的学生学号: "; cin >> id; for(auto& student : students) { if(student.id == id) { cout << "找到学生信息,当前详情:" << endl; cout << "姓名: " << student.name << ", 班级: " << student.className << ", 成绩: " << student.score << ", 工作状态: " << student.workStatus << ", 部门: " << student.department << endl; cout << "请输入新的姓名: "; cin >> student.name; cout << "请输入新的班级: "; cin >> student.className; cout << "请输入新的成绩: "; cin >> student.score; cout << "请输入新的工作状态: "; cin >> student.workStatus; cout << "请输入新的部门: "; cin >> student.department; cout << "学生信息修改成功!" << endl; return; } } cout << "未找到该学号的学生信息!" << endl; } // 删除学生信息 void deleteStudent() { int id; cout << "\n--- 删除学生信息 ---" << endl; cout << "请输入要删除的学生学号: "; cin >> id; for(auto it = students.begin(); it != students.end(); ++it) { if(it->id == id) { students.erase(it); cout << "学生信息删除成功!" << endl; return; } } cout << "未找到该学号的学生信息!" << endl; } // 查找学生信息 void searchStudent() { int choice; cout << "\n--- 查找学生信息 ---" << endl; cout << "1. 按学号查找" << endl; cout << "2. 按姓名查找" << endl; cout << "3. 按班级查找" << endl; cout << "请选择查找方式: "; cin >> choice; switch(choice) { case 1: { int id; cout << "请输入学号: "; cin >> id; for(const auto& student : students) { if(student.id == id) { cout << "查找结果:" << endl; cout << "学号: " << student.id << ", 姓名: " << student.name << ", 班级: " << student.className << ", 成绩: " << student.score << ", 工作状态: " << student.workStatus << ", 部门: " << student.department << endl; return; } } cout << "未找到该学号的学生信息!" << endl; break; } case 2: { string name; cout << "请输入姓名: "; cin >> name; bool found = false; for(const auto& student : students) { if(student.name == name) { if(!found) { cout << "查找结果:" << endl; found = true; } cout << "学号: " << student.id << ", 姓名: " << student.name << ", 班级: " << student.className << ", 成绩: " << student.score << ", 工作状态: " << student.workStatus << ", 部门: " << student.department << endl; } } if(!found) cout << "未找到该姓名的学生信息!" << endl; break; } case 3: { string className; cout << "请输入班级: "; cin >> className; bool found = false; for(const auto& student : students) { if(student.className == className) { if(!found) { cout << "查找结果:" << endl; found = true; } cout << "学号: " << student.id << ", 姓名: " << student.name << ", 班级: " << student.className << ", 成绩: " << student.score << ", 工作状态: " << student.workStatus << ", 部门: " << student.department << endl; } } if(!found) cout << "未找到该班级的学生信息!" << endl; break; } default: cout << "无效选择!" << endl; } }