/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 构造函数(学生类)
* 作 者: 刘镇
* 完成日期: 2012 年 3 月 17 日
* 版 本 号: 1.039
* 对任务及求解方法的描述部分
* 输入描述: 学生学号及成绩
* 问题描述: 。。。。
* 程序输出: 1,3,5位同学信息,并求最好成绩的学号。
* 程序头部的注释结束
运行结果:
* 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 构造函数(学生类)
* 作 者: 刘镇
* 完成日期: 2012 年 3 月 17 日
* 版 本 号: 1.039
* 对任务及求解方法的描述部分
* 输入描述: 学生学号及成绩
* 问题描述: 。。。。
* 程序输出: 1,3,5位同学信息,并求最好成绩的学号。
* 程序头部的注释结束
*/
#include<iostream>
using namespace std;
class Student
{
public:
Student(int n, double s):num(n),score(s){}
void max(Student *);
void display();
private:
int num;
double score;
};
int main()
{
Student s[5] =
{
Student(1001, 89.5),
Student(1002, 94.0),
Student(1003, 78.5),
Student(1004, 97.0),
Student(1005, 60.0)
};
for(int i = 0; i < 5; i += 2)
{
Student * p = &s[i];
(*p).display();
}
s[0].max(&s[0]);
system("PAUSE");
return 0;
}
void Student::max(Student * p)
{
int n;
double max = 0;
for(int i = 0; i < 5; ++ i)
{
if(p[i].score >= max)
{
max = p[i].score;
n = i;
}
}
cout << "最高成绩为" << max << "分,学号是:" << p[n].num << endl;
}
void Student::display()
{
cout << "学号:" << num << " " << "成绩:" << score << endl;
}
运行结果: