说明:
学生成绩管理系统 输入学生班号 学号 两科成绩
要求:
1.静态函数:计算n个学生某科成绩总分和平均分
2.友元函数:两个学生某科成绩差
3.友元类:teacher_1 通过班号提取某班某科成绩总分
include
using namespace std ;
class student
{
friend class teacher_1;
private:
float Score1,Score2;
int Sno,Classnum;
static float Suma,Sum1,Sum2;
static int num ;
float Avera,Aver1,Aver2;
public:
friend void distance(student &st1,student &st2);
student(int classnum,int sno,float s1,float s2) //定义构造函数
{ Sno=sno;
Classnum=classnum;
Score1=s1;
Score2=s2;
num++;
cout<<"Constructor Called."< void GetSum()
{
Suma+=(Score1+Score2);
Sum1+=Score1 ;
Sum2+=Score2 ;
cout<<"Suma="< }
~student() //定义析构函数
{ cout<<"Destructor Called."< void GetScore() //定义类成员函数
{ cout<<"Sno="<
void GetAverage()
{
Avera=Suma/num;
Aver1=Sum1/num;
Aver2=Sum2/num;
cout<<"Avera="< }
};
int student::num=0;
float student::Suma=0, student::Sum1=0, student::Sum2=0;
void distance(student &st1,student &st2)
{
float d1,d2;
d1=st1.Score1-st2.Score1;
d2=st1.Score2-st2.Score2;
cout<<"d1="<
}
class teacher_1
{
private:
student st1,st2 ;
public:
void getscore(int classnum)
{
float cs1s=0,cs2s=0;
float cs1a=0,cs2a=0;
if (st1.Classnum==classnum)
{
cs1s+=st1.Score1;
cs2s+=st1.Score2;
}
if(st2.Classnum==classnum)
{
cs1s+=st2.Score1;
cs2s+=st2.Score2;
}
cs1a=cs1s/2;
cs2a=cs2s/2;
cout<<"Class="< cout<<"Class="< }
};
int main()
{ student st1(200611,13101,91,88),st2(200612,13202,68,72); //定义类对象并自动初始化
st1.GetScore(); //调用成员函数
st2.GetScore();
st1.GetSum() ;
st1.GetAverage() ;
st2.GetSum() ;
st2.GetAverage();
distance(st1,st2);
teacher_1 t1;
t1.getscore(200611);
t1.getscore(200612);
}