编写一个程序,统计学生成绩,其功能包括输入学生的姓名和成绩,按成绩从高到低排列打印输出。 提示: (1)学生类(Student),包含学生的姓名name 和成绩grade.以及构造函数、setname()、setgrade()、getnane ()、getgrade()五个成员函数。 (2)主函数中定义学生类对象数组(例如:Students[5];),依次录入每个学生的信息,然后排序输出。
时间: 2023-11-22 12:53:07 浏览: 83
编写程序,输入并保存5名学生的信息,计算出平均分,再按照成绩从高到低的顺序输出他们的信息。学生信息包括:学号、姓名、成绩。
以下是一个简单的实现,以 C++ 代码为例:
```c++
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
class Student {
public:
Student() {}
Student(string name, int grade) {
this->name = name;
this->grade = grade;
}
void setname(string name) {
this->name = name;
}
void setgrade(int grade) {
this->grade = grade;
}
string getname() {
return name;
}
int getgrade() {
return grade;
}
private:
string name;
int grade;
};
bool cmp(Student a, Student b) {
return a.getgrade() > b.getgrade();
}
int main() {
const int n = 5;
Student students[n];
for (int i = 0; i < n; i++) {
string name;
int grade;
cout << "请输入第" << i + 1 << "个学生的姓名和成绩:" << endl;
cin >> name >> grade;
students[i].setname(name);
students[i].setgrade(grade);
}
sort(students, students + n, cmp);
cout << "按成绩从高到低排列的学生成绩如下:" << endl;
for (int i = 0; i < n; i++) {
cout << students[i].getname() << " " << students[i].getgrade() << endl;
}
return 0;
}
```
该程序首先定义了一个 `Student` 类,其中包含了学生的姓名和成绩以及相应的成员函数。然后,在主函数中定义了一个学生类对象数组,依次录入每个学生的信息,并使用 `std::sort` 函数按成绩从高到低排序。最后,使用一个循环遍历学生数组并输出结果。
阅读全文