标签:
设计一个学生类Student,数据成员包括学号(num)和成绩(score),成员函数根据需要自行设计(建议配备需要的set、get函数,以及必要的输入或输出,给出的代码中也可以找到需要成员函数的线索)。在main函数中,要做到:设计一个函数int max(Student *arr);,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并返回值其学号。
/* * Copyright (c) 2015,烟台大学计算机学院 * All right reserved. * 作者:邵帅 * 文件:Demo.cpp * 完成时间:2015年04月02日 * 版本号:v1.0 */ #include <iostream> using namespace std; class Student { public: Student(int n,double s):num(n),score(s) {}; int max(Student *arr); void show(); int get_num(); double get_score(); private: int num; //学号 double score; //成绩 }; void Student::show() { cout<<num<<" "<<score<<endl; } int Student::get_num() { return num; } double Student::get_score() { return 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) stud[i].show(); //输出成绩最高者的学号 cout<<"5个学生中成绩最高者的学号为: "<<max(stud);//调用函数显示最高成绩 return 0; } //定义函数max,返回arr指向的对象数组中的最高成绩,返回值为最高成绩者的学号 int max(Student *arr) { //求最高成绩及对应同学的学号 double maxscore=arr[0].get_score(); int j; for (int i=0;i<5;i++) { if (arr[i].get_score()>maxscore) maxscore=arr[i].get_score(); j=i; } return arr[j].get_num(); //返回最高成绩者的学号 }
@ Mayuko
标签:
原文地址:http://blog.csdn.net/mayuko2012/article/details/44858763