《高级语言程序设计》
课程设计报告
设计题目 职工信息表系统
专 业 计算机科学与技术
班 级 软件方向
姓 名
学 号
2007 年 6 月 5 日
目 录
1.设计目标…………………………………………………3
2.设计思想…………………………………………………3
3.类及对象设计……………………………………………4
4.程序源代码………………………………………………5
5.调试记录…………………………………………………15
6.总结………………………………………………………19
共 21 页 第 1 页
职工信息表系统
1.设计目标
1) 使用类和向量的方法,编写能够输入职工的信息的职工信息表,
再根据这个表产生一个职工信息简表,并利用多态性实现信息的输出。
2) 本设计要求实现如下功能:
(1)增加职工信息记录
(2)生成信息简表
(3)显示原始记录
(4)显示简表记录
(5)结束程序运行
在功能(2)( 3)4)中如果没有输入信息,程序会提示要先输入
信息
2.设计思想
在本程序中包含一个头文件 .h 和两个 cpp 文件。其中头文件除了对
共 21 页 第 2 页
函数进行原型声明外,还定义了两个类来建立职工的信息数据。这一点
会在下一部分中作详细说明。当然还有普通函数对信息的处理。
void addin(); //增加职工记录
void brevity(); //生成信息简表
void Dispwks(); //显示职工信息
void Dispwk(); //显示简表信息
另外,菜单是该程序的整体框架,主要通过使用控制语句用来改变
程序执行的顺序,即根据用户选择的不同功能来调用不同的实现函数,
这是实现结构化程序设计的基础。如:
void handle_menu(); //菜单设计函数
int nemu_select(); //菜单选择函数
3.类及对象设计
1) 类的设计
本程序通过继承的方法,定义两个类——职工简表类
(worker),职工信息类( workers),这里把简表类的内容作为基
类,由它派生出详表类,两个类之间的关系,可以由以下的结构图中清
楚地表现出来。
worker
Num:char
Name:char
共 21 页 第 3 页
workers
sex:char
age:int
sal:int
setsex:void
setage:void
setsal:void
*getsex:char
getage:int
getsal:int
display:void
setname:void
Setnum: setnum:void
*getna *getname:char
*getnu *getnum:char
display: display:virtual void
其中,简表主要存放职工的编号,姓名,等信息,派生类中,除了
继承基类的数据成员外,还在原有的基础上添加了职工性别,年龄,工
资三项数据以丰富职工记录,而这些数据成员的获取与传值主要通过类
中的成员函数来实现。
如两个类中,返回类型为 int 与 char 的成员函数,是实现数据的
获取,由用户输入;而返回类型为 void(除 display 外)的函数,实
现传值的功能。在这里我想特别强调的是基类中的函数 void
display,将其设计为虚函数,主要是由于程序中的一个打印函数 print
是使用基类 worker 对象的引用作为参数,以便实现多态性
(print(worker &))。
2)对象的设计
该程序的另一个特点是向量数组的使用,即主要通过向量的方法生
成两个对象:
vector<worker>vwk;//简表信息的向量数组
vector<workers>vwks;//完整信息的向量数组
运用向量主要是考虑编程的方便;因为向量是一种容器,系统已经为
用户预定义了相关操作的公有成员函数,我们可以通过调用其成员函数
共 21 页 第 4 页
评论1