7-3 友元函数 分数 30 作者 east 单位 浙江大学 C++考试正在进行。请设计一个学生类student,学号、本次考试成绩是其私有数据成员,同时有一个计算本次考试平均成绩的友元函数 double average(student *p,int count) 以上类名和友元函数的形式,均须按照题目要求,不得修改。 输入是 学号([00001,99999])和成绩,以0结束。(不超过100个学生) 输出是平均成绩。 输入样例: 10001 90 10002 93 0 输出样例:91.5
时间: 2023-11-27 18:51:06 浏览: 55
题目要求的类和友元函数如下:
```c++
class student {
private:
int id; // 学号
int score; // 本次考试成绩
public:
friend double average(student *p, int count);
};
double average(student *p, int count) {
double sum = 0;
for (int i = 0; i < count; i++) {
sum += p[i].score;
}
return sum / count;
}
```
完整代码如下:
相关问题
用c++写一个student类含有学号和成绩,并包含一个友元函数计算平均分数
好的,下面是用C++语言写一个包含学号和成绩的student类,并包含一个友元函数计算平均分数:
```
#include <iostream>
using namespace std;
class student{
private:
int id;
float score;
public:
student(int i, float s):id(i),score(s){}
friend float average(student s[],int n);
};
float average(student s[],int n){
float sum=0;
for(int i=0;i<n;i++)
sum+=s[i].score;
return sum/n;
}
int main(){
student stu[5]={student(1001,89.5),student(1002,90),student(1003,78),student(1004,84),student(1005,95)};
cout<<"平均分数为:"<<average(stu,5)<<endl;
return 0;
}
```
在这个程序中,我们定义了一个student类,它包含了私有成员变量id和score,以及一个构造函数和一个友元函数average。友元函数average可以访问student类的私有成员变量,并通过for循环求出所有学生的总成绩,最后返回平均分数。在main函数中,我们定义了一个包含五个学生对象的stu数组,并调用average函数计算平均分数并输出。
用c++设计一个学生类student,学号、成绩为私有数据成员,同时有一个计算本次考试平均成绩的友元函数。main函数中输入学号和成绩,以0结束。输出是平均成绩
好的,我来回答您的问题。
这是一个使用 C 语言设计学生类 Student 的示例代码:
```
#include <stdio.h>
typedef struct {
int id;
int score;
} Student;
// 声明友元函数
float calculateAverageScore(Student students[], int n);
// main 函数
int main() {
Student students[100];
int n = 0;
float average = 0;
while (1) {
// 输入学号和成绩,以 0 结束
printf("请输入学号和成绩(以 0 结束):");
scanf("%d %d", &students[n].id, &students[n].score);
if (students[n].id == 0) {
break;
}
n++;
}
// 调用友元函数计算平均成绩
average = calculateAverageScore(students, n);
// 输出平均成绩
printf("本次考试平均成绩是:%.2f\n", average);
return 0;
}
// 定义友元函数
float calculateAverageScore(Student students[], int n) {
int totalScore = 0;
for (int i = 0; i < n; i++) {
totalScore += students[i].score;
}
return (float)totalScore / n;
}
```
这个示例代码中,定义了一个名为 Student 的结构体,其中包含了两个私有数据成员,分别是学号(id)和成绩(score)。友元函数 calculateAverageScore 用于计算输入的成绩列表中的平均成绩。main 函数中,通过循环输入学号和成绩,直到输入 0 为止。最终调用 calculateAverageScore 计算平均成绩,并输出结果。
希望这个示例代码能够解决您的问题,如果还有其他问题,请继续提问。