(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; }