(1).输出每个学生的姓名、学号、成绩;(2)统计并输出学生的总人数、总成绩、平均成绩、最高成绩、最低成绩。
#include<iostream>
#include<math.h>
#include<cstdlib>
using namespace std;
class Student{
public:
Student(string n,string i,int g){
name=n;
id=i;
grade=g;
count++;
sum+=g;
if(grade>max){
max=grade;
}
if(grade<min){
min=grade;
}
}
Student(Student &stu){
name=stu.name;
id=stu.id;
grade=stu.grade;
sum+=stu.grade;
count++;}
void output(){
cout<<"name:"<<name<<endl;
cout<<"id:"<<id<<endl;
cout<<"grade:"<<grade<<endl<<endl;
}
static void show(){
cout<<"count:"<<count<<endl;
cout<<"sum:"<<sum<<endl;
cout<<"average:"<<(float)(sum/count)<<endl;
cout<<"max:"<<max<<endl;
cout<<"min:"<<min<<endl;
}
~ Student(){count--;}
private:
string name;
string id;
int grade;
static int count; //总人数
static float sum; //总成绩
static int max;
static int min;
};
int Student::count=0;
float Student::sum=0.0;
int Student::max=0;
int Student::min=1000;
int main(void){
Student a("xiaoming","123456",100); //给字符串型初始化时要用“ ”;
a.output();
// Student b=a; //如果要用b=a,此时调用的是复制构造函数,要把复制构造函数写全,不能只写count++;
Student b("xiaofang","123457",99);
b.output();
Student::show();
system("pause");
return 0;
}