定义一个Student类,在该类定义中包括:一个数据成员(分数score)及两个静态数据成员(总分total和学生人数count); 成员函数scoretotalcount(double s)用于设置分数、求总分和累计学生人数; 静态成员函数sum()用于返回总分;静态成员函数average()用于求平均值。 在main函数中,输入某班同学的成绩,并调用上述函数求全班学生的总分和平均分。 输入包含多组数据,输入数据分为三种:1 score, 2, 3, 如果输入数字1 score则调用scoretotalcount(),输入2则调用sum()并显示总分,输入3则调用average()并显示平均分,注意:输入1 score没有输出,结果保留6位小数。
时间: 2024-02-22 09:58:24 浏览: 55
定义一个学生类(Student),要求: (1)初始化数据成员数据成员(_Sno,_Sname,_Sage); (2)通过属性装饰器定义数据成员(Sno,Sname,Sage); (3)定义特殊方法
以下是实现该功能的代码:
```c++
#include <iostream>
#include <iomanip>
using namespace std;
class Student {
private:
double score; // 成绩
static double total; // 总分
static int count; // 学生人数
public:
void scoretotalcount(double s) {
score = s;
total += score;
count++;
}
static double sum() {
return total;
}
static double average() {
return total / count;
}
};
double Student::total = 0;
int Student::count = 0;
int main() {
int input;
double score;
while (cin >> input) {
if (input == 1) {
cin >> score;
Student s;
s.scoretotalcount(score);
} else if (input == 2) {
cout << setprecision(6) << fixed << Student::sum() << endl;
} else if (input == 3) {
cout << setprecision(6) << fixed << Student::average() << endl;
}
}
return 0;
}
```
程序中,首先定义了一个`Student`类,其中包括一个数据成员`score`和两个静态数据成员`total`和`count`。`scoretotalcount`函数用于设置分数、求总分和累计学生人数,`sum`函数用于返回总分,`average`函数用于求平均值。
在主函数中,我们通过循环读入输入的数字和成绩,如果输入数字`1`则调用`scoretotalcount`函数,输入`2`则调用`sum`函数并显示总分,输入`3`则调用`average`函数并显示平均分。注意要用`setprecision`函数设置输出结果的精度。
阅读全文