第五周 任务四

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* 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;  
}  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章