5.建立一个对象数组,内放5个学生的数据(学号、成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。

#include <iostream>

using namespace std;

class Student
{
	public:
	
		//有参构造函数
		Student(int num, double score)
		{
			this->num = num;
			this->score = score;
		}
		//无参构造函数
		Student()
		{
			num = 0;
			score = 0;
		}
		//getters
		int getNum();
		double getScore();

	private:
		int num;
		double score;
};
int Student::getNum()
{
	return num;
}
double Student::getScore()
{
	return score;
}

void max(Student* pt)
{

	double max = 0;
	Student stu, * p = pt;
	//学号为正数时一直进行冒泡排序
	while (p->getNum() > 0)
	{
		//p的成绩大于当前最大时交换,并把数据地址传给stu以供后面输出学生信息
		if ((p->getScore()) > max)
		{
			max = p->getScore();
			stu = *p;
		}
		p++;
	}
	//输出成绩最高学生信息
	cout << "成绩最高: " << stu.getNum() << "号 " << stu.getScore() << "分" << endl;

}

int main()
{
	Student stu[5] = { Student(1001,80),Student(1002,85)
	,Student(1003,90),Student(1004,95),Student(1005,80) };
	max(stu);
	return 0;

}

 

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜的抠jio?

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值