学生类

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

猜你喜欢

转载自blog.csdn.net/han_hhh/article/details/80660842