C++考试正在进行。请设计一个学生类student,学号、本次考试成绩是其私有数据成员,同时有一个计算本次考试平均成绩的友元函数 double average(student *p,int count)
以上类名和友元函数的形式,均须按照题目要求,不得修改。
输入是 学号([00001,99999])和成绩,以0结束。(不超过100个学生) 输出是平均成绩。
输入样例:
10001 90 10002 93 0
输出样例:
91.5
#include<iostream>
using namespace std;
class student {
private:
long number;
double score;
//static int count;
//static double sum;
public:
student() {
number = 0;
score = 0;
}
void setstudent(long i,double r) {
number = i;
score = r;
}
//long getnumber(void) {
// return number;
//}
//double getscore(void) {
// return score;
//}
friend double average(student* p, int count);
};
double average(student* p, int count) {
double ave;
double sum = 0;
for (int i = 0; i < count; i++) {
sum += p[i].score;
}
ave = sum / count;
return ave;
}
//int student::count = 0;
//double student::sum = 0.0;
int main() {
student St[100];
long number;
double score;
int count = 0;
double ave = 0.0;
while ((cin >> number)&& number != 0 && number >= 00001 && number <= 99999) {
cin >> score;
St[count].setstudent(number, score);
count++;
}
ave = average(St, count);
cout << ave;
return 0;
}