/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved
* 文件名称:score.cpp
* 作 者:赵兰
* 完成日期:2013 年 4月5 日
* 版本号: v1.0
* 输入描述:略
* 问题描述:设计一个函数int max(Student *arr);,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并返回值其学号。
* 输出:如下
*/
#include <iostream>
using namespace std;
class Student //声明Student类
{public:
Student(int n,float s):num(n),score(s){} //定义一个有参的构造函数,用参数的初始化表对数据成员初始化
int num;
float score;
};
int main()
{
//定义对象数组
Student stud[5]={
Student(101,78.5),Student(102,85.5),Student(103,90.5),Student(104,92.5),Student(105,93.5)
}; //分别调用构造函数,对每个元素初始化
void max(Student*p); //定义p是指向Student类对象的指针变量
Student*p=&stud[0]; //将student的起始地址赋给p
max(p);
return 0;
}
void max(Student*arr){ //定义一个指向数组的指针
float max_score=arr[0].score;
int k=0;
for(int i=1;i<5;i++)
if(arr[i].score>max_score){max_score=arr[i].score;k=i;}
cout<<arr[k].num<<" "<<max_score<<endl;
}