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

来源:互联网 发布:人工智能算命机器人q 编辑:程序博客网 时间:2024/05/29 04:39
#include<iostream>
#include<string>
using namespace std;
class student
{
public:
student(string ="blank",float =0);
void display();
friend string max(student *p);
private:
string number;
float grade;
};
student::student(string num,float g)
{
number=num;
grade=g;
}
void student::display()
{
cout<<number<<":"<<grade<<endl;
}
string max(student *p)
{
float max=p->grade;
int flag;
for(int i=0;i<5;i++)
{
if(max<(p+i)->grade)
{
max=(p+i)->grade;
flag=i;
}
}
cout<<"max_grade="<<max<<endl;
return (p+flag)->number;
}
int main()
{
student person[]={
student("M2017001",87),
student("M2017002",90),
student("M2017003",80),
student("M2017004",97),
student("M2017005",93),
};
cout<<max(person)<<endl;
return 0;
}
0 0