一、题目要求:
建立一个对象数组,内放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;
}