/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: Student.cpp
* 作 者: 计114-3 王兴锋
* 完成日期: 2012年 3 月 19 日
* 版 本 号: V 1.0
* 对任务及求解方法的描述部分
* 输入描述: 设计一个学生类,包括学号(num)和成绩(score)。建立一个对象数组,内放5个学生的数据
* 问题描述:
(1) 用指针指向数组首元素,输出第1、3、5个学生的信息;
(2) 设计一个函数max,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号。
* 程序输出:按要求输出
* 程序头部的注释结束
*/
#include <iostream>
using namespace std;
class Student
{
public :
Student(int,double);
int get_num();
double get_score();
void show_st();
private :
int num;
double score;
};
Student::Student(int nu, double sc)
{
num = nu;
score = sc;
}
int Student::get_num()
{
return num;
}
double Student::get_score()
{
return score;
}
void Student::show_st()
{
cout << "此学生信息为:" << "num ="<< num << ",score=" << score << endl;
}
int max(Student *, int);
void main()
{
Student st[5]={
Student(1001, 58),
Student(1002, 64),
Student(1003, 55),
Student(1004, 76),
Student(1005, 68)};
Student *s = st;
for (int i = 0; i < 5; i+=2)
(*(s+i)).show_st();
cout << "成绩最高的学生的学号为:" << max(st, 5) << endl;
system("PAUSE");
}
int max(Student *s, int n)
{
double max = (*s).get_score();
Student ma_x = (*s);
for (int i = 1; i < n; i++)
if ((*(s+i)).get_score() > max)
{
ma_x = (*(s+i));
max = (*(s+i)).get_score();
}
return ma_x.get_num();
}
《第五周实验报告4-1》---设计一个学生类,包括学号(num)和成绩(score)
最新推荐文章于 2021-05-17 14:01:10 发布