/*
*Copyright (c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称 :
*作 者 : 张珩瑞
*完成日期 : 2016年4月21号
*版 本 号 : v1.0
*
*问题描述 : 指向学生类的指针
*输入描述 :
*程序输出 : 学生的学号与成绩与最高成绩的学生的学号
*/
#include <iostream>
using namespace std;
struct Student
{
//private:
int num;
double score;
public:
Student(int x,double y);
void out();
};
Student::Student(int x,double y)
{
num=x;
score=y;
}
void Student::out()
{
cout<<"学号为:"<<num<<" "<<"成绩为:"<<score<<endl;
}
int max(Student *arr)
{
int i,k;
double max1=arr->score;
for( i=0;i<5;i++)
{
if((arr+i)->score>max1)
{
max1=(arr+i)->score;
k=i;
}
}
for(i=0;i<5;i++)
{
if(k==i)
{
return (arr+i)->num;
}
}
}
int main()
{
int i;
Student stud[5]=
{
Student(101,78.5),Student(102,85.5),Student(103,100),
Student(104,98.5),Student(105,95.5)
};
for(i=0;i<5;i+=2)
{
stud[i].out();
}
cout<<"5个学生中成绩最高者的学号为:"<<max(stud);
return 0;
}