- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C++语言程序设计》
课程设计报告
设计题目 职工信息表系统班 级
姓 名
学 号
2011 年 1 月 13 日
目 录
TOC \o 1-1 \h \z \u 设计目标… 3
设计思想… 3
类及对象设计… 4
程序源代码… 5
调试记录… 15
6.总结… 19
共 20 页 第 1 页
职工信息表系统
设计目标
使用类和向量的方法,编写能够输入职工的信息的职工信息表, 再根据这个表产生一个职工信息简表,并利用多态性实现信息的输出。
本设计要求实现如下功能:
增加职工信息记录
生成信息简表
显示原始记录
显示简表记录
结束程序运行
在功能(2)(3)4)中如果没有输入信息,程序会提示要先输入信
息
设计思想
在本程序中包含一个头文件 .h 和两个 cpp 文件。其中头文件除了对函数进行原型声明外,还定义了两个类来建立职工的信息数据。这一点会在下一部分中作详细说明。当然还有普通函数对信息的处理。
void addin(); //增加职工记录void brevity(); //生成信息简表void Dispwks(); //显示职工信息void Dispwk(); //显示简表信息
另外,菜单是该程序的整体框架,主要通过使用控制语句用来改变程序执行的顺序,即根据用户选择的不同功能来调用不同的实现函数, 这是实现结构化程序设计的基础。如:
void handle_menu(); //菜单设计函数int nemu_select(); //菜单选择函数
共 20 页 第 2 页
类及对象设计
类的设计
本程序通过继承的方法,定义两个类——职工简表类(worker),职工信息类(workers),这里把简表类的内容作为基类,由它派生出详表类,两个类之间的关系,可以由以下的结构图中清楚地表现出来。
worker Num:char Name:char setname:void
worker Num:char Name:char setname:void
Setnum: setnum:void
*getna *getname:char
*getnu *getnum:char display: display:virtual void
workers sex:char age:int
sal:int
setsex:void setage:void setsal:void
*getsex:char getage:int getsal:int
display:void
其中,简表主要存放职工的编号,姓名,等信息,派生类中,除了继承基类的数据成员外,还在原有的基础上添加了职工性别,年龄,工资三项数据以丰富职工记录,而这些数据成员的获取与传值主要通过类中的成员函数来实现。
如两个类中,返回类型为 int 与 char 的成员函数,是实现数据的获取,由用户输入;而返回类型为void(除 display 外)的函数,实现传值的功能。在这里我想特别强调的是基类中的函数 void display,将其设计为虚函数,主要是由于程序中的一个打印函数 print 是使用基类
共 20 页 第 3 页
worker 对象的引用作为参数,以便实现多态性(print(worker ))。2)对象的设计
该程序的另一个特点是向量数组的使用,即主要通过向量的方法生成两个对象:
vectorworkervwk;//简表信息的向量数组vectorworkersvwks;//完整信息的向量数组
运用向量主要是考虑编程的方便;因为向量是一种容器,系统已经为用户预定义了相关操作的公有成员函数,我们可以通过调用其成员函数的方法直接完成程序设计,如在添加函数中:
void addin(){
worker wks;//暂存对象
……
cout“\t 年 龄 ”; cinage; wks.setage(age); vwks.push_back(wks);
}
push_back()是向量的内部函数,主要用于向容器尾部插入对象,改变容器的大小,实现从向量的尾部增加记录。
程序源代码
//头文件 cpp51.h
#if !defined(CPP51_H) #define CPP51_H #includeiostream #includevector
共 20 页 第 4 页
#includefstream
using namespace std; //使用名字空间void handle_menu(); //菜单设计函数int nemu_select(); //菜单选择函数void addin(); //增加职工记录
// void read(); //从磁盘中读取记录void brevity();
void Dispwks(); void Dis
文档评论(0)