编写一个程序,已有若干学生的数据,包括学号、姓名、成绩,要求输出这些学生的数据并计算出学生人数和平均成绩(要求将学生人数和总成绩用静态数据成员表示)
时间: 2023-06-05 16:47:04 浏览: 405
学生成绩信息输入排序输出
可以定义一个学生类,其中包含学号、姓名、成绩等属性,同时定义一个静态数据成员来记录学生人数和总成绩。在程序中创建若干个学生对象,将它们的数据输出,并累加学生人数和总成绩,最后计算平均成绩。
示例代码如下:
```c++
#include <iostream>
#include <string>
using namespace std;
class Student {
public:
Student(int id, string name, float score) {
m_id = id;
m_name = name;
m_score = score;
s_count++; // 学生人数加1
s_totalScore += score; // 总成绩累加
}
void display() {
cout << "学号:" << m_id << ",姓名:" << m_name << ",成绩:" << m_score << endl;
}
static int getCount() {
return s_count;
}
static float getAverageScore() {
return s_totalScore / s_count;
}
private:
int m_id;
string m_name;
float m_score;
static int s_count; // 学生人数
static float s_totalScore; // 总成绩
};
int Student::s_count = ;
float Student::s_totalScore = ;
int main() {
Student s1(1, "张三", 80.5);
Student s2(2, "李四", 90.);
Student s3(3, "王五", 75.5);
s1.display();
s2.display();
s3.display();
cout << "学生人数:" << Student::getCount() << endl;
cout << "平均成绩:" << Student::getAverageScore() << endl;
return ;
}
```
输出结果:
```
学号:1,姓名:张三,成绩:80.5
学号:2,姓名:李四,成绩:90
学号:3,姓名:王五,成绩:75.5
学生人数:3
平均成绩:82
```
阅读全文