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

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

二、总结
1、class里面是什么结构:
这要与main函数里的一起理解
在这里插入图片描述
在这里插入图片描述
在这里简单地说就是简化输入过程
2、函数名是max,没想到里面的变量也可以叫max,不过以后尽量别重复
3、max函数建立的很巧:
输入 第一个对象数组的指针 和 n : 以后表示成员mark的时候直接用->更方便,而不用(p+1)->了
还设了一个student的成员t,用于读取数据

三、代码:

#include <iostream>
using namespace std;
class student
{
	public:
		student(int n,string na,int m) : num(n),name(na),mark(m) {}
		int num;
		string name;
		int mark;
};
void max(student *p,int n)
{
	student *pt,t(0,"",0);
	int max=p->mark;
	for(pt=p;pt<p+n;pt++)
	{
		if(pt->mark>max)
		{
			max=pt->mark;
			t=*pt;
		}
	}
	cout<<t.mark;
}
int main()
{
student stu[5]={
student(1001, "Mark", 57),
student(1002, "Tony", 76),
student(1003, "Tim", 80),
student(1004, "Tom", 77),
student(1005, "Hork", 81)};
max(stu,5);
return 0;
}

  • 19
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值