用C++写个200多行的小程序,每段代码加上注释
时间: 2024-03-14 20:48:20 浏览: 13
好的,下面是一份示例代码,该程序实现了一个简单的学生成绩管理系统,并加上了注释说明每段代码的作用。
```cpp
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
// 定义学生结构体
struct Student {
string name; // 姓名
int id; // 学号
double score; // 成绩
};
// 定义比较函数,按照成绩从高到低排序
bool cmp(const Student& s1, const Student& s2) {
return s1.score > s2.score;
}
// 添加学生信息到学生列表中
void addStudent(vector<Student>& students) {
string name;
int id;
double score;
cout << "请输入学生姓名:";
cin >> name;
cout << "请输入学生学号:";
cin >> id;
cout << "请输入学生成绩:";
cin >> score;
// 创建一个学生对象并添加到学生列表中
students.push_back({name, id, score});
}
// 显示所有学生信息
void showAllStudents(const vector<Student>& students) {
cout << "所有学生信息如下:" << endl;
for (const auto& s : students) {
cout << "姓名:" << s.name << ",学号:" << s.id << ",成绩:" << s.score << endl;
}
}
// 显示成绩排名前N名的学生信息
void showTopNStudents(const vector<Student>& students, int n) {
vector<Student> sorted_students = students;
// 对学生列表进行排序
sort(sorted_students.begin(), sorted_students.end(), cmp);
cout << "成绩排名前" << n << "名的学生信息如下:" << endl;
for (int i = 0; i < n && i < sorted_students.size(); i++) {
cout << "姓名:" << sorted_students[i].name << ",学号:" << sorted_students[i].id << ",成绩:" << sorted_students[i].score << endl;
}
}
// 主函数
int main() {
vector<Student> students; // 定义学生列表
while (true) {
// 显示菜单
cout << endl << "请按数字键选择操作:" << endl;
cout << "1. 添加学生信息" << endl;
cout << "2. 显示所有学生信息" << endl;
cout << "3. 显示成绩排名前N名的学生信息" << endl;
cout << "4. 退出程序" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1: {
// 添加学生信息
addStudent(students);
break;
}
case 2: {
// 显示所有学生信息
showAllStudents(students);
break;
}
case 3: {
// 显示成绩排名前N名的学生信息
cout << "请输入要显示前N名的N值:";
int n;
cin >> n;
showTopNStudents(students, n);
break;
}
case 4: {
// 退出程序
cout << "程序已退出" << endl;
return 0;
}
default: {
// 输入错误的选项
cout << "输入错误的选项,请重新输入" << endl;
break;
}
}
}
}
```
以上就是一个简单的学生成绩管理系统的示例代码,希望可以对你有所帮助。