实战项目
用一个综合小项目收尾:学生成绩管理系统。覆盖类、vector、map、文件读写、排序,把本章所有知识串起来。
功能
- 添加学生(姓名、成绩)
- 按成绩排序显示
- 统计平均分
- 保存到文件
代码示例
#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>
using namespace std;
struct Student {
string name;
double score;
};
int main() {
vector<Student> students;
students.push_back({"张三", 90});
students.push_back({"李四", 76});
students.push_back({"王五", 88});
// 按成绩排序
sort(students.begin(), students.end(),
[](const Student &a, const Student &b) {
return a.score > b.score;
});
// 显示 + 平均分
double sum = 0;
cout << "=== 成绩排名 ===" << endl;
for (auto &s : students) {
cout << s.name << ": " << s.score << endl;
sum += s.score;
}
cout << "平均分: " << sum / students.size() << endl;
// 写文件
ofstream out("scores.txt");
for (auto &s : students) {
out << s.name << " " << s.score << endl;
}
out.close();
cout << "已保存到 scores.txt" << endl;
return 0;
}