实战项目

C++ 教程 · 第 8 章 · 7 次浏览

用一个综合小项目收尾:学生成绩管理系统。覆盖类、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;
}