您的位置:首页 > 其它

《第五周实验报告4-1》---设计一个学生类,包括学号(num)和成绩(score)

2012-03-19 20:55 555 查看
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* 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();
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐