第五周——指向学生的指针

来源:互联网 发布:实验室数据管理制度 编辑:程序博客网 时间:2024/06/04 01:13
/** Copyright (c) 2013, 烟台大学计算机学院* All rights reserved.* 作    者:申玉迪* 完成日期:2014 年 3 月 25 日* 版 本 号:v1.0*/#include <iostream>using namespace std;class Student{public:    Student (int n,double s)    {        num=n;        score=s;    }    void out();    int get_num()    {        return num;    }    double get_score()    {        return score;    }private:    int num;   //学号    double score;   //成绩};//max函数返回arr指向的对象数组中的最高成绩(max并不是成员函数,而是普通函数)int max(Student *arr);int main(){    Student stud[5]=    {        Student(101,78.5),Student(102,85.5),Student(103,100),        Student(104,98.5),Student(105,95.5)    };    //输出第1、3、5个学生的信息(用循环语句)    for(int i=0; i<5; i+=2)    {        cout<<"第"<<i+1<<"个同学的信息:";        stud[i].out();    }    //输出成绩最高者的学号    cout<<"5个学生中成绩最高者的学号为: "<<max(stud)<<endl;//调用函数显示最高成绩    return 0;}void Student::out(){    cout<<num<<'\t'<<score<<endl;}//定义函数max,返回arr指向的对象数组中的最高成绩int max(Student *arr){    int max,j=0;    max=arr[0].get_score();    //求最高成绩及对应同学的学号    for(int i=1; i<5; i++)    {        if(arr[i].get_score()>max)        {            max=arr[i].get_score();            j=i;        }    }    //返回最高成绩者的学号(老师注:我在这一行开头加入的空格是全角空格,会出现错误,注意这个陷阱带来的不便,也见识一下这个bug的症状)    return arr[j].get_num();}


0 0
原创粉丝点击