C++定义一个学生类输入学生姓名英语和计算机成绩按照总分从高到低排序
时间: 2025-01-02 20:45:12 浏览: 4
在C++中,你可以定义一个`Student`类,包含姓名、英语成绩和计算机成绩等属性,并提供一个计算总分的方法。然后,为了按照总分从高到低对学生列表进行排序,可以使用STL(Standard Template Library)中的`sort`函数配合自定义的比较函数。这里是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
#include <algorithm> // 包含sort函数
#include <string>
class Student {
public:
std::string name;
int english_score;
int computer_score;
// 构造函数
Student(const std::string& n, int e, int c) : name(n), english_score(e), computer_score(c) {}
// 总分计算方法
int total_score() const {
return english_score + computer_score;
}
};
// 自定义比较函数用于排序
bool compareTotalScore(const Student& a, const Student& b) {
return a.total_score() > b.total_score();
}
int main() {
std::vector<Student> students = {{"Tom", 85, 90}, {"Jerry", 92, 87}, {"Spike", 96, 80}};
// 按照总分降序排列
std::sort(students.begin(), students.end(), compareTotalScore);
for (const auto& student : students) {
std::cout << "Name: " << student.name << ", Total Score: " << student.total_score() << std::endl;
}
return 0;
}
```
阅读全文