【4.21】编写一个程序,已有若干个学生的数据,包括学号、姓名、成绩,要求输出这些学生的数据并计算出学生人数和平均成绩(要求学生人数和总成绩用静态数据成员表示)。
#include<iostream>
#include<string>
using namespace std;
class Student{ //学生类
private:
string name;
int number;
float score;
static int count; //静态数据成员,用于统计学生人数
static float sum; //静态数据成员,用于统计总成绩
static float ave; //静态数据成员,用于统计平均成绩
public:
Student(string name1,int number1,float score1); //声明构造函数
static void show(Student &stu); //声明显示学生信息函数
static void show1(); //声明显示函数
};
Student::Student(string name1,int number1,float score1) //定义构造函数
{
name=name1;
number=number1;
score=score1;
++count;
sum=sum+score;
ave=sum/count;
}
void Student::show(Student &stu) //声明显示学生信息函数
{
cout<<"姓名:"<<stu.name<<endl;
cout<<"学号:"<<stu.number<<endl;
cout<<"成绩:"<<stu.score<<endl;
}
void Student::show1() //声明显示函数
{
cout<<"学生人数:"<<count<<endl;
cout<<"总成绩:"<<sum<<endl;
cout<<"平均成绩:"<<ave<<endl;
}
int Student::count=0;
float Student::sum=0.0;
float Student::ave=0.0;
int main() //主函数
{
Student stu1("Lin",16,90);
Student::show(stu1);
Student::show1();
cout<<endl;
Student stu2("Wu",18,80);
Student::show(stu2);
Student::show1();
cout<<endl;
Student stu3("Chen",19,85);
Student::show(stu3);
Student::show1();
system("pause");
return 0;
}