【任务4】设计一个学生类,包括学号(num)和成绩(score)。建立一个对象数组,内放5个学生的数据,要求:
(1) 用指针指向数组首元素,输出第1、3、5个学生的信息;
(2) 设计一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 长方柱类
* 作 者:郭广建
* 完成日期: 2012年 3月 20日
* 版 本 号: 1.0
源程序:
#include <iostream> using namespace std; class Student { public: Student(int n, float s):num(n),score(s){}; int get_num(){return num;} //这个方法很好借鉴老师的 float get_score(){return score;} void output(); private: int num ; float score; }; int max(Student *Stu) { float max_score = Stu[0].get_score(); int i, j; for(i = 1; i < 5; ++i) { if(Stu[i].get_score() > max_score) { max_score = Stu[i].get_score(); j = i; } } return Stu[j].get_num(); } void Student::output() { cout << "学号是:" << num << "成绩是:" << score <<endl; } int main() { Student Stu[5] = {Student(1001,87),Student(1002,91),Student(1003,90.5),Student(1004,88.5),Student(1005,97.5)}; for(int i = 0; i < 5; i+=2) { cout << "第" <<i + 1 << "个学生的信息是:"; Stu[i].output(); } cout << "学生中成绩最高的同学的学号是:" << max(Stu) <<endl; return 0; }
运行结果: