统计学生成绩 输入学生的姓名和成绩 按成绩从高到低排列 输出 Student name grade setname setgradeO.getname Ogetgrade五个成员函数 主函数中定义学生类对象数组
时间: 2023-11-22 07:53:08 浏览: 82
以下是一个简单的实现:
```c++
#include <iostream>
#include <algorithm> // 用于排序
#include <string>
using namespace std;
class Student {
private:
string name;
int grade;
public:
Student(string n, int g) {
name = n;
grade = g;
}
string getName() {
return name;
}
int getGrade() {
return grade;
}
};
bool cmp(Student a, Student b) { // 比较函数,用于排序
return a.getGrade() > b.getGrade(); // 按成绩从高到低排列
}
int main() {
const int N = 5; // 定义学生类对象数组的大小
Student s[N] = {
Student("A", 90),
Student("B", 85),
Student("C", 77),
Student("D", 92),
Student("E", 81)
}; // 初始化学生类对象数组
sort(s, s + N, cmp); // 排序
for (int i = 0; i < N; i++) { // 输出
cout << "Student name: " << s[i].getName() << endl;
cout << "Grade: " << s[i].getGrade() << endl;
}
return 0;
}
```
在主函数中,我们首先定义了一个大小为 5 的学生类对象数组,然后通过初始化的方式为每个学生类对象赋值。接着,我们调用 `sort()` 函数对学生类对象数组进行排序,排序方式是按成绩从高到低排列。最后,我们通过循环输出每个学生类对象的姓名和成绩。
阅读全文