2017final友元函数之全班同学的平均绩点

这是一个C++编程问题,涉及类、私有成员、友元函数以及平均值计算。题目要求定义一个学生类,包含名字、学分和成绩的私有成员,并定义一个友元函数来计算全班学生的平均绩点。输入数据包括多个学生的信息,每个学生有多门课程的学分和成绩,最后以'no'结束。友元函数接受学生对象数组和学生数量,输出全班平均绩点。示例代码中给出了主函数和友元函数的实现,通过遍历学生和他们的课程计算平均绩点。
摘要由CSDN通过智能技术生成

一个学生类,有三个私有成员:名字name、课程学分指针score、课程成绩指针grade。定义一个友元函数,求全班同学的平均绩点。单门课程的学分绩点=学分绩点=学分(成绩/10-5) ; 全班同学的平均绩点是 所有同学的全部课程的学分绩点之和/所有同学学分数之和。单个同学的课程数不超过100门。全班同学人数不超过100名。

输入说明:

输入若干行。

每行一个学生的信息:第一个输入是学生的名字,第二个输入是第一门课程的学分,第三个输入是第一门课程的成绩,第四个输入是第二门课程的学分,第五个输入是第二门课程的成绩,以此类推,最后以-1表示该行输入结束。每个学生的课程数不超过100门。

最后以 no 表示输入结束。

输出一行,即该全班同学的平均绩点。

函数接口定义:
这是求全部同学平均绩点的友元函数的声明:

friend double averagegrade(student *stu, int count)

其中 *stu 和 count 都是用户传入的参数。 *stu 是传入的学生对象数组的首指针,count是全班学生数量。

裁判测试程序样例:

#include<iostream>
#include<string>
using namespace std;
class student{
   private:
      double *grade;
      double *score;
      string name;
public:
      student( )
     {
      grade=NULL;
      score=NULL;
      }
      student(string n, double *g, d
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值