5-4 类的应用——学生类

原创 2012年03月23日 19:33:01

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者:张传新
* 完成日期:2012 年 3月 21 日
* 版 本 号: 1

* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:设计一个学生类,包括学号(num)和成绩(score)。建立一个对象数组,

内放5个学生的数据,要求:
(1) 用指针指向数组首元素,输出第1、3、5个学生的信息;
(2) 设计一个函数max,用指向对象的指针作函数参数,在max函数中找出5个

学生中成绩最高者,并输出其学号。

* 程序输出:
* 程序头部的注释结束
*/

#include<iostream>
using namespace std;
class Student
{
public:
    Student(int n,int s):num(n),score(s){}//声明一个有参数的构造函数,用参数的初始化表对数据成员初始化
	void getmessage();
	int getnum();
	float getscore();
private:
	int num;
	float score;
};

void Student::getmessage()//输出学生信息
{
	cout<<num<<" "<<score<<endl;
}

int max(Student *a)//a在接受数组首地址之后,可以作为一个数组访问   
{  
    float max_score=a[0].getscore();//通过成员函数getscore取出私有的数据成员score的值  
    int j=0;  
    for(int i=1;i<5;i++)  //冒泡法
       if(a[i].getscore()>max_score)   
       {  
           max_score=(*(a+i)).getscore();  //“()”的优先级高于“*”
           j=i;  
       }  
       return a[j].getnum();  
}  

int Student::getnum()
{
	return num;
}

float Student::getscore()
{
	return score;
}
			     

int max(Student *a);

int main()
{
	Student a[5]={
	Student(10001,100),
	Student(10001,88.8),
	Student(10001,96.7),
	Student(10001,97.5),
	Student(10001,99)
	};
	//输出第1,3,5个学生的信息
	for(int i=0;i<5;i+=2)
	{
		cout<<"第"<<i+1<<"个学生的信息是:"<<endl;//注意是第i+1个。。。。
		a[i].getmessage();
	}
	//找出个学生中成绩最高者,并输出其学号   
    cout<<"5个学生中成绩最高者的学号为: "<<endl;
	cout<<max(a)<<endl;                                //传递给形式参数a的是数组的首地址   
    system("PAUSE");  
    return 0;  
}  

运行结果:

经验积累:一开始对对象指针不理解,可能是课本看的太少了,于是又浏览了一边,但做起来还是不太顺手,

没办法只能参考一下别人的答案然后才勉强做出来,看来自己还要下功夫,程序中有些是别人的注释,自己

也加了一些注释,以方便自己的理解,总体来说,除了对象指针不太懂,其余的已没有大问题,这两天重点

看一下指针部分吧。。。。。

5-4 学生累(类)

/* * 程序的版权和版本声明部分 * Copyright (c)2012, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称: abc.cpp * 作者:田...
  • ytutianyu
  • ytutianyu
  • 2013年04月02日 20:29
  • 631

一个c++的编程题 描述课程类和学生类

float sc = 0); float get_score(char* nm); float average();}; float sc); float getscore(cha...
  • bugrnm
  • bugrnm
  • 2008年10月20日 09:09
  • 277

c++ 一个简单的学生 类

#include // 预处理命令 using namespace std; class Student // 声明一个...
  • liuhenghui5201
  • liuhenghui5201
  • 2012年03月27日 16:30
  • 2172

C++写的学生类

1. 分别声明Teacher(教师)类和cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。要求:(1)在两个基类中都包含姓名、年龄、性别、地址、电话等...
  • namespacefeng
  • namespacefeng
  • 2012年01月04日 17:44
  • 1192

java 创建学生类

创建一个学生类,属性包括学生姓名,学号,性别及4门课成绩,方法包括计算学生总分和显示学生的相关信息。 import java.util.*; class Student{ String name;...
  • qq_36238595
  • qq_36238595
  • 2017年03月31日 00:15
  • 1693

5-4指向学生类的指针

/* * 作 者: 霍雨佳 * 完成日期:2014 年3月30日 * 版 本 号:v1.0 * 问题描述:设计一个学生类Student,数据成员包括学号(num)和成绩(score),成...
  • u012369069
  • u012369069
  • 2014年03月30日 18:07
  • 377

编写一个学生类(Students)

//编写一个学生类(Students),包括姓名(name)、性别(sex)、学号(num)、语文课(Chinese)、英语课(English)、 //数学课(Math)和平均值(avg),方法包括求...
  • ouyangqinwen
  • ouyangqinwen
  • 2017年11月02日 08:58
  • 83

《定义一个学生基本情况的类——C#第四周》

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:  ...
  • sdliujiangbo
  • sdliujiangbo
  • 2012年09月22日 12:07
  • 3798

java-继承实现学生类和老师类案例

java-继承实现学生类和老师类案例:: 定义一个父类: package day08; public class PersonDemo { private String name; ...
  • lcn_Lynn
  • lcn_Lynn
  • 2017年06月25日 17:23
  • 906

C++类 学校,班级,学生的三级关系

学校类的属性包含班级类指针,班级类属性包含学生类指针 班级类指针指向堆内存中的多个班级对象数组, 班级类中的学生指针指向堆内存中的多个学生对象数组。 #include #include #inc...
  • plgy_Y
  • plgy_Y
  • 2016年12月09日 13:03
  • 595
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:5-4 类的应用——学生类
举报原因:
原因补充:

(最多只允许输入30个字)