/* (程序頭部註釋開始)
* 程序的版權和版本聲明部分
* Copyright (c) 2011, 煙臺大學計算機學院學生
* 文件名稱: 學生類數組
* 作 者: 楊森
* 完成日期: 2012 年 03 月 24 日
* 版 本 號: v1.0
【題目】設計一個學生類,包括學號(num)和成績(score)。建立一個對象數組,內放5個學生的數據,要求:
(1)用指針指向數組首元素,輸出第1、3、5個學生的信息;
(2)設計一個函數max,用指向對象的指針作函數參數,在max函數中找出5個學生中成績最高者,並輸出其學號。
#include<iostream>
using namespace std;
class Student
{public:
Student(int n,double s):num(n),score(s){}
int get_number();
double get_score();
private:
int num;
double score;
};
void max(Student *p);
int main()
{
Student a[5]={
Student(1001,90),
Student(1002,95),
Student(1003,97),
Student(1004,99),
Student(1005,100)
};
Student *p = a;
p = a;
for(int i = 0; i <= 4; i = i + 2)
{
cout <<"學號:"<<(*p).get_number() << " 成績:" << (*p).get_score() << endl;
p = p + 2;
}
max(a);
return 0;
}
void max(Student *p)
{
int number;
double m = 0;
for(int i = 0;i < 5;i ++)
{
if((*p).get_score() > m)
{
m = (*p).get_score();
number = (*p).get_number();
}
p = p + 1;
}
cout << "最高成績同學信息爲:" << number<< " " << m<< endl;
}
int Student::get_number()
{
return num;
}
double Student::get_score()
{
return score;
}