【问题描述】 定义一个类Student,要求使用静态数据成员或静态成员函数计算全班学生的《计算机导论》课程的总成绩和平均成绩。请同学们自行设计该类。 【提示】 静态数据成员:static int total; 表示所有同学成绩总分 静态成员函数:static void Average(int sum){} 计算sum个学生的平均成绩,主函数在调用的时候采用Student::Average(n)的形式。 【输入形式】 学生姓名 课程成绩 【输出形式】 总成绩和平均成绩 【样例输入】 Zhang 82 Li 79 Wang 93 Liu 66 Xia 90 【样例输出】 410 82
时间: 2024-03-16 17:46:35 浏览: 19
以下是实现上述功能的示例代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Student {
private:
static int total; // 所有同学成绩总分
string name; // 学生姓名
int score; // 学生成绩
public:
Student(string n, int s) {
name = n;
score = s;
total += s; // 更新总成绩
}
static void Average(int sum) {
cout << total << " " << total / sum << endl; // 输出总成绩和平均成绩
}
};
int Student::total = 0; // 初始化静态数据成员
int main() {
int n;
cin >> n; // 输入学生人数
for (int i = 0; i < n; i++) {
string name;
int score;
cin >> name >> score;
Student s(name, score); // 创建学生对象
}
Student::Average(n); // 计算平均成绩
return 0;
}
```
该程序首先定义了一个 `Student` 类,其中包括一个静态数据成员 `total`,表示所有同学成绩的总和,以及一个静态成员函数 `Average`,用于计算平均成绩并输出总成绩和平均成绩。
在 `main` 函数中,首先输入学生人数 `n`,然后循环 `n` 次,每次输入学生姓名和成绩,并创建一个 `Student` 对象。最后调用 `Student::Average(n)` 计算平均成绩并输出总成绩和平均成绩。