写一个学生成绩管理系统,包含语文成绩和数学成绩,总成绩由语文成绩和数学成绩相加得出
时间: 2023-05-26 17:02:34 浏览: 38
以下是一个简单的学生成绩管理系统,包含了学生姓名、语文成绩、数学成绩和总成绩四个字段,可以添加、删除、修改和查找学生信息,以及按照总成绩排序。
```
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
struct student {
string name;
int chinese;
int math;
int total;
};
vector<student> students;
void add_student() {
student s;
cout << "请输入学生姓名:";
cin >> s.name;
cout << "请输入语文成绩:";
cin >> s.chinese;
cout << "请输入数学成绩:";
cin >> s.math;
s.total = s.chinese + s.math;
students.push_back(s);
cout << "添加成功!" << endl;
}
void remove_student() {
string name;
cout << "请输入要删除的学生姓名:";
cin >> name;
for (auto it = students.begin(); it != students.end(); ++it) {
if (it->name == name) {
students.erase(it);
cout << "删除成功!" << endl;
return;
}
}
cout << "没有找到该学生!" << endl;
}
void modify_student() {
string name;
cout << "请输入要修改的学生姓名:";
cin >> name;
for (auto it = students.begin(); it != students.end(); ++it) {
if (it->name == name) {
cout << "请输入修改后的语文成绩:";
cin >> it->chinese;
cout << "请输入修改后的数学成绩:";
cin >> it->math;
it->total = it->chinese + it->math;
cout << "修改成功!" << endl;
return;
}
}
cout << "没有找到该学生!" << endl;
}
void search_student() {
string name;
cout << "请输入要查找的学生姓名:";
cin >> name;
for (auto it = students.begin(); it != students.end(); ++it) {
if (it->name == name) {
cout << "姓名:" << it->name << endl;
cout << "语文成绩:" << it->chinese << endl;
cout << "数学成绩:" << it->math << endl;
cout << "总成绩:" << it->total << endl;
return;
}
}
cout << "没有找到该学生!" << endl;
}
bool compare_total(const student& a, const student& b) {
return a.total > b.total;
}
void sort_student() {
sort(students.begin(), students.end(), compare_total);
cout << "按照总成绩排序成功!" << endl;
}
void print_menu() {
cout << "----------------------" << endl;
cout << "1. 添加学生" << endl;
cout << "2. 删除学生" << endl;
cout << "3. 修改学生信息" << endl;
cout << "4. 查找学生信息" << endl;
cout << "5. 按照总成绩排序" << endl;
cout << "6. 退出程序" << endl;
cout << "----------------------" << endl;
}
int main() {
while (true) {
print_menu();
int choice;
cout << "请选择:";
cin >> choice;
switch (choice) {
case 1:
add_student();
break;
case 2:
remove_student();
break;
case 3:
modify_student();
break;
case 4:
search_student();
break;
case 5:
sort_student();
break;
case 6:
cout << "谢谢使用,再见!" << endl;
return 0;
default:
cout << "输入有误,请重新输入!" << endl;
break;
}
}
}
```