- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数学与计算机学院 C++程序设计 实验报告
年级 09级 学号 姓名 成绩
专业 实验地点 指导教师
实验项目 学生信息管理 实验日期
一、实验目的
利用C++课程上学习的基础编程技巧来完成程序的设计;在设计的过程中,要建立清晰的循环、函数和类并正确使用相应的数据类型;?在系统设计中要分析类与类之间的关系,将查找和排序的算法独立出来形成为单独的函数。正确使用继承、重载和多态等高级技巧。
建立学生信息数据,包括学号、姓名、性别、三科成绩、出生时间、年龄(必须计算得到)。(2)使用继承的方法构造至少3个类,(即学生类——基类,一年级学生和二年级学生类——派生类)使用相应的对象放置10个学生信息。(3)编写同名display()成员函数,用来输出数组的内容。(4)按不同类别输出学生信息,比如按性别。(5)要求对“<<”和“>>”运算符进行重载。考虑到输人学号时,也会因不小心引人空格,而且名字中也需要有空格,所以重载“>>”运算符时,需要满足这个要求。(6)抽取并计算学生的平均成绩。(7)按照至少一科成绩进行排序。(8)检索(查找)指定信息。(如按姓名检索、按年龄检索)三、实验问题分析
(1)建立包含学号、姓名、性别、语文、数学、英语成绩的学生基类,然后通过公用继承分别建立一年级、二年级的学生类,并在这两个派生类中增加专业等数据成员。
(2)年龄计算得到,通过求两时间差(当前时间和出生时间之差)。
(3)通过建立标签,并且应用swich…case….函数对每个函数建立联系。
(4)对“”、“”进行重载,使之能够输出、输入学生的信息。
四、实验结果(程序)及运行界面截图
1.实验程序代码
#includeiostream
#includestring
using namespace std;
class student//定义学生类
{public:
int xuehao;
char xingming[20];
char xingbie;
float yuwen,shuxue,yingyu;
int shengri;
virtual int getnianji()=0;
virtual void set()=0;
virtual void display()=0;
int getxuehao(){return xuehao;}
char* getxingming(){return xingming;}
char getxingbie(){return xingbie;}
float getyuwen(){return yuwen;}
float getshuxue(){return shuxue;}
float getyingyu(){return yingyu;}
float getsum(){
return (yuwen+shuxue+yingyu);}
int getshengri(){return shengri;}
};
class ostudent: public student//通过公有继承学生类,定义一年级的学生类
{public:
int nianji;
char zhuanye[25];
ostudent(){nianji=0;}
int getnianji(){ return nianji;}
char* getzhuanye(){return zhuanye;}
void set(){ cout输入一年级学生信息\n学号 姓名 性别(m/w) 专业 语文 数学英语 出生年\n;
cinxuehaoxingmingxingbiezhuanyeyuwenshuxue yingyushengri;
}
void display()//输出一年级的学生信息
{cout\n一年级学生:\nxuehao xingming xingbie zhuanye (yuwen+shuxue+yingyu)/3 (2011-shengri)endl;
}
friend ostream operator(ostream out, ostudent right){ //重载运算符“”,使之可以输出二年级的学生信息
outr
文档评论(0)