小型公司的工资管理系统.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中国石油大学(华东)信息与控制工程学院《程序设计实习》报告

小型公司工资管理系统的设计

专业班级:电子信息工程

学号:

姓名:

指导教师:

时间:2013.7.1~2013.7.6

2013年7月

目录

一、实习内容 (1)

二、设计思路 (2)

三、程序调试过程中典型问题及解决方法 (4)

四、运行结果 (5)

五、程序使用说明 (12)

六、心得体会及课程改进设想 (12)

备注:页码根据目录的实际页码进行标注

一、实习内容

1.1、课程设计的目的

此次课程设计的目的是以《程序设计语言(C/C++)》为基础,针对具有一定难度的综合性题目,进行分析、编程、调试和运行,进一步掌握面向对象和面向过程程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实践相结合,提高分析问题、解决问题的能力。

通过设计一个简单的《小型公司工资管理系统》,进一步熟悉C++中类的概念、类的封装、继承和多态的实现方式。了解系统开发的需要分析,类层次设计,模块分析,编码测试,模块组装与整体调试的全过程,逐步熟悉程序设计的方法,并养成良好的编程习惯。

1.2、设计题目及要求

1 题目:《小型公司工资关系系统》设计

2 设计说明与要求

(1)公司主要有4类人员:经理、技术员、销售员、销售经理。要求储存这些人的职工号姓名、月工资、年龄、性别等信息。

(2)工资的计算方法

A、经理:固定月薪为8000元;

B、技术员:工作时间×小时工资(100元每小时);

C、销售员:销售额×4%提成;

D、销售经理:底薪(5000元)+所辖部门销售额总额×0.5%;

(3)类的层次结构大体如下:

(4)输入员工基本数据,要求每类人员不能少于4人,员工信息输出格式参考运行效果。

(5)实现功能

应用程序中要有菜单,用于选择各种功能,其中

①数据输入:输入各种数据;

②数据统计:统计各种销售经理下属销售员的销售额及限售额之和;销

售经理按工资进行的冒泡排序;

③数据打印:打印各类员工的数据信息;

④数据备份:把各类员工的数据星系写入文件中保存;

⑤推出本系统;

(6)菜单说明

①数据录入指通过键盘输入各类员工的各项数据;

②数据统计指统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行冒泡法排序;

③数据打印指按照表格的格式在屏幕上输出个员工的信息;

④数据备份指将所有员工的信息保存到文件;

⑤退出:结束程序的运行。

(7)注意一个销售经理管辖多个销售员。

(8)其他功能可以自己扩充(扩充的功能若比较合理可适当加分)。

(9)要求在控制台下完成(显示内容都在黑屏下显示)。

二、设计思路

1、程序应实现的功能,有数据输入,数据统计,数据打印,数据备份和退出系统5个。

2、考虑各种数据类型还有所需的C++内的函数,要引用 这四个头文件。用其setw(n)设置其后输出数据的宽度为n位,便于表格的制作。用于数据备份,使用时,先用ofstream outfile(即定义ofstream类对象outfile)。

3、outfile.open("小型公司工资管理系统.txt",ios::out);打开磁盘流文件,并且对备份文件进行命名,同时确定存储位置。

4、首先定义一个employee的雇员基类,然后得到technician、manager、seller 三个分别为技术员类,经理类,销售员类的派生类,再由manager派生出销售经理类salesmanager。每个类中的数据成员都是protected型的,成员函数都是public 型的,所有的继承都是公有继承,基类中定义有数据输入函数,各派生类中有由基类继承过来的不同的数据输入函数。

5、然后定义各功能的函数,如f1()、f2()、begin()等。

4、数据统计、打印以及备份都以表格形式输出。表格通过制表符进行设计。表头表中表尾还有分隔符均单独定义成void 型的函数。

如:void begin()

{cout<<"┌─────┬─────┬─────┬─────┬─────┐"<

cout<<"│职工号│姓名│性别│年龄│工资│"<

void middle()

{cout<<"├─────┼─────┼─────┼─────┼─────┤"<

6、因为类中成员都是保护类型的,所以要定义属于各类的返回成员值的函数,如rshuyu ()、rnum ()等,在后面统计、打印时会用到。

7、在进行销售经理的数据输出时,考虑其与销售员之间所属关系,定义全局数组double wage[n4]单独存放销售经理的工资,排序时通过if语句先判断所属关系,再进行冒泡法排序,这是要用到双重循环。

8、main函数里定义了四个对象数组,technician t[n1]、manager m[n2]、seller s[n3]、salesmanager ma[n4],其中n1、n2、n3、n4都是全局常变量,分别代表技术员、经理、销售员、销售经理的人数,便于程序修改。

9、整个程序由主函数的一个for循环控制,根据输入的操作选项通过一个switch 语句判断该进行什么操作,每一个case后面对应一个函数,每个函数对应一个操作,1对应数据输入,2对应数据统计,3对应数据打印,4对应数据备份,5对应退出系统。

10、case 中调用四个带参数的函数f3(t,m,s,ma)、statistics(t,m,s,ma)、

相关文档
最新文档