以下是一个简单的 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. 对数据的存储可以考虑使用文件或数据库,以便长期保存和读取。 [2024-11-20 19:45:10 | AI写代码神器 | 837点数解答]