友元函数

C++考试正在进行。请设计一个学生类student,学号、本次考试成绩是其私有数据成员,同时有一个计算本次考试平均成绩的友元函数 double average(student *p,int count)

以上类名和友元函数的形式,均须按照题目要求,不得修改。

输入是 学号([00001,99999])和成绩,以0结束。(不超过100个学生)
输出是平均成绩。

输入样例:

10001 90
10002 93
0

输出样例:

91.5

 

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 class student{
 5     int num;
 6     double sorce;
 7     public:
 8         student()
 9         {
10             num=0;sorce=0;
11         };
12         void set(int a,double b)
13         {
14             num=a;
15             sorce=b;
16         }
17         friend double average(const student *p,int count);
18 };
19 
20 double average(const student *p,int count)
21 {
22     double ans;
23     double sum=0;
24     for(int i=0;i<count;i++)
25     sum+=p[i].sorce;
26     ans=sum/count;
27     return ans;
28 }
29 
30 int  main()
31 {
32     student St[105];
33     int num;
34     int i=0;
35     double d,ans;
36     while(scanf("%d",&num)==1&&num)
37     {
38         cin>>d;
39         St[i++].set(num,d);
40     }
41     ans=average(St,i);
42     cout<<ans;
43     return 0;
44 }

友元函数理解转自:https://blog.csdn.net/qq_41079666/article/details/82184804

posted on 2019-03-30 13:14  Esther6  阅读(363)  评论(0)    收藏  举报

导航