学生成绩管理系统c++
时间: 2023-07-19 16:16:26 浏览: 33
好的,我可以帮你解答这个问题。学生成绩管理系统可以使用C++编写,以下是一个简单的实现:
```c++
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
// 定义学生结构体
struct Student {
string name;
int id;
vector<int> scores;
float avgScore;
};
// 计算学生平均分
void calculateAvgScore(Student& student) {
int sum = 0;
for (int i = 0; i < student.scores.size(); i++) {
sum += student.scores[i];
}
student.avgScore = sum / student.scores.size();
}
// 根据学生平均分排序
bool cmp(Student& a, Student& b) {
return a.avgScore > b.avgScore;
}
int main() {
vector<Student> students;
int count = 0;
while (true) {
cout << "请输入学生姓名:";
string name;
cin >> name;
if (name == "exit") {
break;
}
cout << "请输入学生学号:";
int id;
cin >> id;
// 创建学生对象并添加到学生列表中
Student student;
student.name = name;
student.id = id;
students.push_back(student);
// 输入学生各科成绩
for (int i = 0; i < 3; i++) {
int score;
cout << "请输入" << name << "的第" << i+1 << "门课程成绩:";
cin >> score;
students[count].scores.push_back(score);
}
// 计算学生平均分
calculateAvgScore(students[count]);
count++;
}
// 根据学生成绩排序
sort(students.begin(), students.end(), cmp);
// 输出学生信息
cout << "学生排名:" << endl;
for (int i = 0; i < students.size(); i++) {
cout << "第" << i+1 << "名:" << students[i].name << ",学号:" << students[i].id << ",平均分:" << students[i].avgScore << endl;
}
return 0;
}
```
这个程序可以让你输入学生姓名、学号和各科成绩,并计算出学生平均分,最后按照平均分排序并输出学生排名。当你输入 "exit" 时,程序会结束。当然,这只是一个简单的实现,你可以根据自己的需求进行修改和扩展。