C++实现:含信息维护、查询、成绩统计与排序的学生管理系统代码及拓展思路
以下是一个简单的 C++学生管理系统代码示例: ```cpp #include <iostream> #include <string> #include <vector> // 学生结构体 struct Student { std::string name; int id; double score; }; // 信息维护函数 void addStudent(std::vector<Student>& students) { Student s; std::cout << "请输入学生姓名:"; std::cin >> s.name; std::cout << "请输入学生学号:"; std::cin >> s.id; std::cout << "请输入学生成绩:"; std::cin >> s.score; students.push_back(s); } // 信息查询函数 void queryStudent(const std::vector<Student>& students) { int id; std::cout << "请输入要查询的学生学号:"; std::cin >> id; for (const auto& s : students) { if (s.id == id) { std::cout << "姓名:" << s.name << ", 学号:" << s.id << ", 成绩:" << s.score << std::endl; return; } } std::cout << "未找到该学生信息" << std::endl; } // 成绩统计函数 double calculateAverageScore(const std::vector<Student>& students) { double sum = 0; for (const auto& s : students) { sum += s.score; } return sum / students.size(); } // 排序函数 void sortStudents(std::vector<Student>& students) { for (size_t i = 0; i < students.size() - 1; ++i) { for (size_t j = 0; j < students.size() - i - 1; ++j) { if (students[j].score < students[j + 1].score) { std::swap(students[j], students[j + 1]); } } } } int main() { std::vector<Student> students; int choice; while (true) { std::cout << "1. 添加学生信息" << std::endl; std::cout << "2. 查询学生信息" << std::endl; std::cout << "3. 成绩统计" << std::endl; std::cout << "4. 成绩排序" << std::endl; std::cout << "5. 退出" << std::endl; std::cout << "请选择操作:"; std::cin >> choice; switch (choice) { case 1: addStudent(students); break; case 2: queryStudent(students); break; case 3: std::cout << "平均成绩:" << calculateAverageScore(students) << std::endl; break; case 4: sortStudents(students); std::cout << "排序完成" << std::endl; break; case 5: return 0; default: std::cout << "无效的选择,请重新输入" << std::endl; } } return 0; } ``` 额外需要注意的逻辑点: 1. 输入的学号和成绩需要进行有效性验证,比如学号是否为整数,成绩是否在合理范围内。 2. 考虑添加对学生信息的修改和删除功能,以增强系统的实用性。 3. 对数据的存储可以考虑使用文件或数据库,以便长期保存和读取。 ######[AI写代码神器 | 837点数解答 | 2024-11-20 19:45:10]
- C 语言:快速实现 5 个学生信息录入、按成绩升序排序并输出!(字节豆包 | 373点数解答 | 2024-10-30 00:37:20)432
- C语言实现:输入5名学生信息并按成绩升序排序输出(字节豆包 | 354点数解答 | 2024-10-30 18:45:58)381
- C语言:输入5个学生信息,按成绩升序排序并输出(字节豆包 | 373点数解答 | 2024-10-31 19:49:58)374
- C语言:输入5名学生信息并按成绩升序排序输出(字节豆包 | 326点数解答 | 2025-01-01 20:11:47)375
- 用 Pandas 深度剖析数据:从读取到统计分析全流程实战(GPT | 642点数解答 | 2024-06-30 15:39:49)382
- 用 Pandas 深入分析招聘数据:从数据读取到可视化全流程解析(GPT | 1539点数解答 | 2024-06-30 15:56:50)394
- 成绩等级统计:20个60 - 100分成绩的等级数量揭秘(字节豆包 | 219点数解答 | 2025-04-09 10:20:32)241
- 培训机构学员成绩与年龄更新:C++ 代码实现(DeepSeek | 186点数解答 | 2025-12-16 18:04:31)90
- Python 处理培训机构学员培训后年龄与 NOIP 成绩提升情况(DeepSeek | 73点数解答 | 2025-12-16 18:05:20)93
- 培训机构学员成绩提升:C++代码实现年龄与NOIP成绩更新(DeepSeek | 178点数解答 | 2025-12-31 12:20:24)84
- Java:抽象类 Vehicle 及子类 Car、MotorBike 实战演示(讯飞星火 | 440点数解答 | 2024-06-06 23:18:54)334
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)384