友元函数
1、题目:
C++考试正在进行。请设计一个学生类student,学号、本次考试成绩是其私有数据成员,同时有一个计算本次考试平均成绩的友元函数 double average(student *p,int count)
以上类名和友元函数的形式,均须按照题目要求,不得修改。
输入是 学号([00001,99999])和成绩,以0结束。(不超过100个学生)
输出是平均成绩。
输入样例:
10001 90
10002 93
0
输出样例:
91.5
2、代码:
#include<iostream>
#include<cstdio>
using namespace std;
class student
{
private:
int number;
double score;
public:
void set(int num,double scores)
{
number=num;
score=scores;
}
friend double average(student *p,int count);
};
double average(student *p,int count)
{
double aver;
for(int i=0;i<count;i++)
{
aver+=(p+i)->score;
}
aver=aver/count;
return aver;
}
int main()
{
student stu[100];
student *p=stu;
int n;
int N=0;
int i=0;
double scor;
while(cin>>n)
{
if(n==0)
{
break;
}
else
{
cin>>scor;
stu[i].set(n,scor);
i++;
N++;
}
}
double aver=average(stu,N);
cout<<aver<<endl;
return 0;
}