小型公司工资管理系统.doc
《小型公司工资管理系统.doc》由会员分享,可在线阅读,更多相关《小型公司工资管理系统.doc(20页珍藏版)》请在沃文网上搜索。
1、程序设计实习报告中国石油大学(华东)信息与控制工程学院程序设计实习报告小型公司工资管理系统的设计专业班级:自动化10-4班学号:10051426姓名:吴光韬 时 间:2011.7.142011.7.17 2011年7月16日目录一、 实习内容1 1.1、课程设计的目的1 1.2、设计题目及要求1二、 设计思路2三、 程序清单33.1、程序源代码4四、 运行结果144.1、程序运行144.2、备份文本信息16五、 程序使用说明17六、 总结及心得体会172程序设计实习报告一:实习内容1.1、课程设计的目的 此次课程设计的目的是以程序设计语言(C/C+)为基础,针对具有一定难度的综合性题目,进行分
2、析、编程、调试和运行,进一步掌握面向对象和面向过程程序设计的基本方法和编程技巧,巩固所学理论知识,使理论与实践相结合,提高分析问题、解决问题的能力。通过设计一个简单的小型公司工资管理系统,进一步熟悉C+中类的概念、类的封装、继承和多态的实现方式。了解系统开发的需要分析,类层次设计,模块分析,编码测试,模块组装与整体调试的全过程,逐步熟悉程序设计的方法,并养成良好的编程习惯。1.2、设计题目及要求1 题目:小型公司工资关系系统设计2 设计说明与要求 (1) 公司主要有4类人员:经理、技术员、销售员、销售经理。要求储存这些人的职工号姓名、月工资、年龄、性别等信息。 (2) 工资的计算方法A、经理:
3、固定月薪为8000元;B、技术员:工作时间小时工资(100元每小时);C、销售员:销售额4%提成;D、销售经理:底薪(5000元)+所辖部门销售额总额0.5%;(3) 类的层次结构大体如下:雇员类 技术员类销售员类经理类销售经理类 (4) 输入员工基本数据,要求每类人员不能少于4人,员工信息输出格式参考运行效果。 (5) 实现功能 应用程序中要有菜单,用于选择各种功能,其中 数据输入:输入各种数据; 数据统计:统计各种销售经理下属销售员的销售额及限售额之和;销售经理按工资进行的冒泡排序; 数据打印:打印各类员工的数据信息; 数据备份:把各类员工的数据星系写入文件中保存; 推出本系统; (6)
4、菜单说明 数据录入指通过键盘输入各类员工的各项数据; 数据统计指统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行冒泡法排序; 数据打印指按照表格的格式在屏幕上输出个员工的信息; 数据备份指将所有员工的信息保存到文件; 退出:结束程序的运行。 (7) 注意一个销售经理管辖多个销售员。 (8) 其他功能可以自己扩充(扩充的功能若比较合理可适当加分)。 (9) 要求在控制台下完成(显示内容都在黑屏下显示)。二、设计思路1、整体考虑程序应该实现的功能,有数据输入,数据统计,数据打印,数据备份和退出系统5个。2、首先定义一个Employee的雇员基类,然后由此派生出Tech,Manage
5、r,Salesman三个分别为技术员类,经理类,销售员类;再由Manager派生出销售经理类Salesmanager。每个类中的成员都是protected型的,所有的继承都是公有继承,基类中定义有数据输入函数。3、主函数里定义了四个对象数组,Tech TA;Manager MB;Salesman SC;Salesmanager SMD,其中A/B/C/D都是全局常变量,代表各类成员人数,便于程序修改。4、整个程序由主函数的一个for循环控制,根据输入的操作选项通过一个switch语句判断该进行什么操作,每一个case后面对应一个函数,每个函数对应一个操作,1对应数据输入,2对应数据统计,3对应
6、数据打印,4对应数据备份,5对应退出系统。5、数据统计、打印以及备份都以表格形式输出。表格通过制表符进行设计。表头表尾表中、菜单还有分隔符均单独定义成void 型的函数。如:void tou()coutendl;cout 职工号 姓名 性别 年龄 工资 endl;6、case 中调用四个带参的函数fun3(T,M,S,SM)、data_tongji(T,M,S,SM)、data_print(T,M,S,SM)、data_beifen(T,M,S,SM)。四个函数均用了四个循环语句分别进行输入、统计、打印、备份。如输入中的一个:for(i=0;iA;i+)Ti.data_cin();couten
7、dl;data_cin()这类函数在各个类中定义,并且同名,这样能简化程序。7、在进行销售经理的数据输出时,考虑其与销售员之间所属关系,定义若干全局数组double wageD单独存放销售经理的工资,排序时通过if语句先判断所属关系,再进行冒泡法排序,这是要用到双重循环。8、考虑各种数据类型还有所需的C+内的函数,要引用 这四个头文件。用于数据备份,使用时,先用ofstream outfile;outfile.open(工资管理系统.txt,ios:out);打开磁盘流文件,并且对备份文件进行命名,同时确定存储位置。用其setw()设置输出数据的宽度,便于表格的制作9、因为类中成员都是保护类型
8、的,所以要定义属于各类的返回成员值的函数,如turn_belong()、turn_num()10、整体构思比较简单,基本能够实现各项功能 三、程序清单#include#include#include#includeusing namespace std;void fun1();void fun2();void tou();void wei();void zhong();const int A=2,B=2,C=4,D=2;const int a=8000;const int b=5000;const double c=0.005;const int d=100;const double e=0.
9、04;int n=0;int m2=0,0;int t2;class Employeepublic:void data_cin() coutname;coutsex;coutage;int turn_num()return num;string turn_name()return name;char turn_sex()return sex;int turn_age()return age;protected:int num;string name;int age;char sex;int gz;class Tech:public Employeepublic:void data_cin()c
10、outnum;Employee:data_cin();couttime;int turn_gz1()return d*time;protected:int time;class Salesman:public Employeepublic:Salesman()sales_money=0;void data_cin()coutnum;Employee:data_cin();coutsales_money;coutbelong;gz=sales_money*e; int turn_sales_money()return sales_money;int turn_belong()return bel
11、ong; int turn_gz2()return sales_money*e;protected: int sales_money;int belong;class Manager:public Employeepublic:void data_cin()coutnum;Employee:data_cin();gz=a;int turn_gz3()return a;class Salesmanager:public Managerpublic:int turn_num()return num;void data_cin()coutnum;Employee:data_cin();double
12、wageD;double SM_wage(Salesman S,Salesmanager SM)int i,j,k;double p;Salesmanager q;for(k=0;kD;k+) wagek=0;for(i=0;iD;i+)double sum=0;for(j=0;jC;j+)if(SMi.turn_num()=Sj.turn_belong()sum+=Sj.turn_sales_money();wagei=sum*c+b;for(i=0;iD-1;i+) /冒泡法for(j=0;jD-1-i;j+)if(wagejwagej+1)p=wagej+1;wagej+1=wagej;
13、wagej=p;q=SMj+1;SMj+1=SMj;SMj=q;return 0;void fun1()cout-endl;void fun2()cout 小型公司工资管理系统endl; coutendl; cout 请选择您所需的操作 endl; cout 数据输入:1,并按回车键; endl; cout 数据统计:2,并按回车键; endl; cout 数据打印:3,并按回车键; endl; cout 数据备份:4,并按回车键; endl; cout 退出系统:5,并按回车键; endl; coutendl; cout请输入一个操作:;void tou()coutendl;cout 职工号
14、 姓名 性别 年龄 工资 endl;void zhong()coutendl;void wei()coutendl;void fun3(Tech T,Manager M,Salesman S,Salesmanager SM)fun1();int i;for(i=0;iA;i+)Ti.data_cin();coutendl;fun1();for(i=0;iB;i+)Mi.data_cin();coutendl;fun1();for(i=0;iC;i+)Si.data_cin();coutendl;fun1();for(i=0;iD;i+)SMi.data_cin();coutendl;fun1(
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 公司 工资管理 系统
