第4周项目4指向学生类的指针

来源:互联网 发布:鼎信网络充话费不到账 编辑:程序博客网 时间:2024/05/20 13:41
/*。*Copyright(c)2014,烟台大学计算机学院*All right reserved,*文件名:test.cpp*作者:毕玉堂*完成日期:2015年4月3日*版本号:v1.0*问题描述:*输入描述:*程序输出:*/
#include <iostream>using namespace std;class Student{public:    Student(double n,double s):num(n),score(s){};    void output();    int getNum()    {        return num;    }    double getScore()    {        return score;    }private:    int num;   //学号    double score;   //成绩};//max函数返回arr指向的对象数组中的最高成绩(max并不是成员函数,而是普通函数)int max(Student *arr);void Student::output(){    cout<<num<<" "<<score;}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个学生的信息(用循环语句)    int i;    for(i=0;i<5;i+=2)    {        cout<<"第"<<i+1<<"个学生:";        stud[i].output();        cout<<endl;    }    //输出成绩最高者的学号    cout<<"5个学生中成绩最高者的学号为: "<<max(stud);//调用函数显示最高成绩    return 0;}//定义函数max,返回arr指向的对象数组中的最高成绩,返回值为最高成绩者的学号int max(Student *arr){//求最高成绩及对应同学的学号   double max_score=arr[0].getScore();    int k;    for(int i=1; i<5; i++)        if(arr[i].getScore()>max_score)        {            max_score=arr[i].getScore();            k=i;        }//返回最高成绩者的学号return arr[k].getNum();}

运行结果:


0 0
原创粉丝点击