第八周项目三指向学生类的指针

  1. /* 
  2. *Copyright (c) 2016,烟台大学计算机学院 
  3. *All rights reserved. 
  4. *文件名称 : 
  5. *作    者 : 徐聪
  6. *完成日期 : 2016年4月23号 
  7. *版 本 号 : v1.0 
  8. * 设计一个学生类Student,数据成员包括学号(num)和成绩(score),成员函数根据需要自行设计(建议配备需要的set、get函数,以及必要的*输入或输出,给出的代码中也可以找到需要成员函数的线索)。在main函数中,要做到 
    *  建立一个对象数组,通过初始化,设置5个学生的数据; 
    * 用指针指向数组首元素,输出第1、3、5个学生的信息; 
    * 设计一个函数int max(Student *arr);,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并返回值其学号。
  9. */ 
  10. 程序代码:
  11. #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;  
    }  
    结果运行
  12. 第八周项目三指向学生类的指针_第1张图片

你可能感兴趣的:(第八周项目三指向学生类的指针)