公司工资管理系统程序设计报告.docx

上传人:rrsccc 文档编号:9650724 上传时间:2021-03-14 格式:DOCX 页数:36 大小:263.92KB
返回 下载 相关 举报
公司工资管理系统程序设计报告.docx_第1页
第1页 / 共36页
公司工资管理系统程序设计报告.docx_第2页
第2页 / 共36页
公司工资管理系统程序设计报告.docx_第3页
第3页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《公司工资管理系统程序设计报告.docx》由会员分享,可在线阅读,更多相关《公司工资管理系统程序设计报告.docx(36页珍藏版)》请在三一文库上搜索。

1、综合实验报告面向对象程序设计面向对象程序设计综合实验报告一、课程设计题目 2二、主要功能分析 3三、设计思路 3四、编码实现 3五、程序使用注意事项 25六、运行结果 25七、心得及体会 28一、课程设计题目公司工资管理系统i面向对象程序设计综合实验报告设计要求:(1) 公司主要有4类人员:经理、技术员、销售员、销售经理。要求存储 这些人的职工号、姓名、月工资、岗位、年龄、性别等信息。(2) 工资的计算办法:经理:固定月薪为8000;技术员:工作时间*小时工资(100元每小时);销售员:销售额* 4勉成; 销售经理:底薪(5000)+所辖部门销售额总额* 0.5%;(3) 类的层次结构大体如下

2、:(4)输入数据要求每类人员不能少于 4人,并按以下格式输出:职工 号姓名性别年龄岗位工资排名及某销售经理所辖部门各销售员的业绩及自己的工资表:职工 号姓名销售 额销售额合计:(5)总体设计,要有一个菜单,用于选择各项功能,其中 数据录入:输入各种数据;数据统计:各销售经理的工资计算及最终按工资进行的冒泡排序; 数据打印:打印上述表格;数据备份:把相关数据写入文件;退出:退出本系统;注:各项菜单都调用一个函数来实现。二、主要功能分析1、资料录入:通过键盘输入公司各项职员的各项数据;2、资料统计:统计各销售经理下属销售员的销售额及销售额之和;销售经理按 工资进行冒泡排序;3、数据打印:按照表格的

3、格式在屏幕上输出各类员工的信息;4、资料备份:把各类员工的数据信息写入文件中保存;5、退出:退出本系统三、设计思路1、整体考虑程序应该实现的功能,有数据输入,数据统计,数据打印,数据备 份和退出系统5个。2、 首先定义了一个Employee的雇员基类,然后由此派生出Technician ,Manager, Seller三个类,并且Manager类和Seller类为虚拟继承。然后定义一个 Salesmanager类多重继承于Manager类和Seller类。所有的继承都为共有继承。3、通过switch语句判断进行什么操作。四、编码实现#in clude#in clude#in clude#in

4、clude#in cludeusing n amespace std;ofstream outfile;const int B=4;const int T=4;con st int SB=2;const int S=4;double wage1(i nt n);经理信息void man ageri nformati on();void tech nicianin formatia n();/技术员信息void salesma nageri nformati on();销售经理信息void selleri nformatio n();销售员信息void total();/ 求工资函数4void

5、maopao();/void yejibiao();void SBra nk();void excelhead();void excelmiddle();void excele nd();冒泡排序进行工资排列打印业绩表格销售经理工资排序表头表中表尾void backup_yejibiao();/void backup_SBra nk();/各项信息表格void backup_tech nicia nin formatia n();/备份void backup_ma nageri nformati on();/void backup_salesma nageri nformati on();/v

6、oid backup_selleri nformati on();/ class Employee public:int nu me() retur n(nu m);职工号stri ng n am()return( name);/名字char showsex() retur n( sex); /性另 Uint showage() retur n( age);/年龄protected:int num; stri ng n ame; char sex;int age;int wage;面向对象程序设计综合实验报告;class Man ager:virtual public Employee元为经理

7、固定public:Ma nager()8000月薪wage=8000;int man agerwage() retur n( wage); void set_i n()cout经理的编号:; cinnum;coute ndl;cout其姓名:;cinn ame;coute ndl;cout sex;coute ndl;cout age; coute ndl;class Tech nicia n: public Employeepublic:void set_i n()cinnum;coute ndl;cout其姓名:;cinn ame;coute ndl;cout sex;coute ndl;

8、cout age;coute ndl;cout worktime;coute ndl;in t get_wage()/技术员工资算法元为单位小时工资return (worktime*100);/100protected:int worktime;class Seller:virtual public Employeepublic:int boss nu me() retur n( boss nu m);int mon ey() retur n( salesm on ey);void set_ in()cout销售员的编号:;cinnum;coute ndl;6面向对象程序设计综合实验报告cou

9、t其姓名:;cinn ame;coute ndl;cout sex;coute ndl;cout age;coute ndl;cout salesm on ey;coute ndl;cout boss num; coute ndl;double get_wage()销售员工资算法retur n (salesm on ey*0.04);protected:int salesm on ey;int boss num;class Salesma nager:public Man ager,public Sellerpublic:Salesma nager()allsale=0;void set_ i

10、n()cout销售经理的编号:;8面向对象程序设计综合实验报告cinnum;coute ndl;cout其姓名:;cinn ame;coute ndl;cout sex;coute ndl;cout age;coute ndl;double get wage()/销售经理工资算法return (5000+allsale*0.005);5000元为销售经理底薪protected:int allsale;Man ager bossB;Tech nician tech niT;Seller salesma n S;Salesma nager salesbossSB;int salesbosstota

11、leSB=0;Salesma nager excha ngeSB;int excha nge;int b=O,t=O,sb=O,s=O;int In putboss()for(int i=O;iB;i+)9面向对象程序设计综合实验报告e ndl;total()bossi.set_i n();cout return 0;/经理数据处理函数int In puttech ni()for(i nt j=O;jT;j+)tech nij.set_ in();cout e ndl;return 0;/技术员数据处理函数int In putsalesma n()for(i nt n=O;nS;n+)sale

12、sma nn .set_ in();cout e ndl;return 0;/销售员数据处理函数int In putsalesboss()for(int m=0;mSB;m+)salesbossm.set_i n();return 0;/销售经理数据处理函数double wage1(i nt n)return(5000+n*0.005);/以下为第二步计算工资代码void/求总销售额for(i nt n=O;nS;n+)for(i nt m=O;mSB;m+)if(salesma nn .boss nu me()=salesbossm. nu me()salesbosstotalem+=sal

13、esma nn .m on ey();break;void/冒泡法排序for(int n=1;nSB;n+)for(i nt m=1;msalesbosstotalem) excha ngeSB=salesbossm-1; salesbossm-1=salesbossm; salesbossm=excha ngeSB;excha nge=salesbosstotalem-1;salesbosstotalem-1=excha nge; salesbosstotalem=excha nge;void yejibiao()/打印表格 for(int n=0;nSB;n+)salesboss n. n

14、am()下属的销售员业绩为:e ndl;maopao()销售经理cout 职工号为salesbossn.nume()12couti e ndl;I职工号丨姓名cout面向对象程序设计综合实验报告售额 丨endl;for(i nt j=O;jS;j+)if(salesma nj.boss nu me()=salesboss n . nu me()cout |111 e ndl;cout | setw(12)salesmanj.nume()Isetw(12)salesma nj. nam()|setw(14)salesmanj.money()| endl;cout|111e ndl;cout| 销

15、售额总计 : Isetw(28)salesbosstotalen| endl;cout 111 e ndl;void SBra nk()cout销售经理按工资排序为:-1;n-)excelmiddle();cout|setw(8)salesboss n. nu me()|setw(8)salesboss n. nam()|setw(8)salesboss n.showage()I setw(8) 销 售经理| setw(8)wage1(salesbosstotalen)| endl;excele nd();/以下为职工信息一览表代码 void tech nicianin formatia n(

16、)excelhead();for(int k=0;kT;k+)excelmiddle();cout|setw(8)tech ni k. nu me()|setw(8)tech nik. nam()|setw (6) tech nik.showsex()|setw(8)technik.showage()| setw(8)技术员|setw(8)technik.get_wage()| endl;excele nd();void man ageri nformatio n()excelhead();for(int k=0;kB;k+)excelmiddle();cout|setw(8)bossk. n

17、u me()|setw(8)bossk .n am()I setw(6)bossk.showsex()| setw(8)bossk.showage() | setw(8) 经理|setw(8)bossk.managerwage()| -1;k-)excelmiddle();cout|setw(8)salesbossk. nu me()|setw(8)salesbossk. nam()|setw(6)salesbossk.showsex()|setw(8)salesbossk.showage()| setw(8) 销售经理| setw(8)wage1(salesbosstotalek)| end

18、l;excele nd();void selleri nformatio n()cout I1111111e ndl;cout |职工号| 姓名|性别| 年龄 | 岗位| 工 资|所属部门经理编号|e ndl;for(int k=0;kS;k+)cout |1111111e ndl;cout|setw(8)salesma n k. nu me()|setw(8)salesma n k. nam()|setw(8)salesmank.showage()| setw(8)销售员Isetw(8)salesma n k.get_wage()|setw(16)salesmank.bossnume()|

19、endl;cout 11111111e ndl;/各步表格的表头,表中和表尾void excelhead()cout I111111 endl;cout |职工号| 姓名|性别I 年龄 I 岗位I 工 资 | endl;void excelmiddle()cout |111111 endl;void excele nd()cout 1111111 e ndl;II资料备份void backup_yejibiao()outfile.ope n(”备份资料.doc,ios:out);16面向对象程序设计综合实验报告for(int n=0;*SB;n+)outfile 职工号为salesbossn.

20、nume()销售经理salesboss n. nam()下属的销售员业绩为:e ndl;outfile i111e ndl;outfile丨职工号丨姓名 丨 销售额丨e ndl;for(i nt j=O;jS;j+)if(salesma nj.boss nu me()=salesboss n . nu me()outfile |11T endl;outfile | setw(12)salesma nj. nu me()|setw(12)salesma nj. nam()|setw(14)salesmanj.money()| endl;outfile|111e ndl;outfile| 销 售

21、额 总 计 :|setw(28)salesbosstotalen| endl;outfile 111e ndl;void backup_SBra nk()outfile销售经理按工资排序为:e ndl;outfile18面向对象程序设计综合实验报告e ndl;outfile |职工号丨 姓名丨性别丨 年龄 丨 岗位丨 工资 | -1;n-)outfile |111111e ndl;outfile|setw(8)salesboss n . nu me()|setw(8)salesboss n. nam()|setw(6)salesboss n.showsex()|setw(8)salesboss

22、n.showage()| setw(8) 销售经理| setw(8)wage1(salesbosstotalen)| endl;outfile 1111111 e ndl;void backup_tech nicianin formatia n()outfile职工基本情况一览表如下e ndl;outfile技术员endl;outfile i111111 e ndl;outfile |职工号| 姓名|性别| 年龄 | 岗位| 工资 | endl;for(int k=0;kT;k+)outfile |1111H1e ndl;setw(8)tech nik. nam()|setw (6) tech

23、 nik.showsex()|setw(8)technik.showage()| setw(8)技术员|setw(8)technik.get_wage()| endl;outfile 1111111 e ndl;void backup_ma nageri nformati on()outfile经理endl;outfile i111111 e ndl;outfile |职工号| 姓名|性别| 年龄 | 岗位|工资 | endl;for(int k=O;kB;k+)outfile |1111H1e ndl;outfile|setw(8)bossk. nu me()|setw(8)bossk.na

24、m()| setw(6)bossk.showsex()| setw(8)bossk.showage() | setw(8) 经理| setw(8)bossk.managerwage() | endl;outfile 1111111 e ndl;void backup_salesma nageri nformati on()outfile销售经理endl;21面向对象程序设计综合实验报告outfile |111111 e ndl;outfile |职工号丨 姓名丨性别丨 年龄 丨 岗位丨 工资 | endl;for(int k=O;kSB;k+)outfile |1111H1e ndl;outf

25、ile|setw(8)salesbossk. nu me()|setw(8)salesbossk. nam()|setw(6)salesbossk.showsex()|setw(8)salesbossk.showage()| setw(8) 销售经理| setw(8)wage1(salesbosstotalek)| endl;outfile 1111111e ndl;void backup_selleri nformatio n()outfile销售员endl;outfilee ndl;outfile | 职工号 |姓名|性别| 年龄 | 岗位|outfile|setw(8)salesma n

26、 k. nu me()22工资|所属部门经理编号|e ndl;for(int k=0;kS;k+) outfile |H11e ndl;setw(8)salesma n k. nam()面向对象程序设计综合实验报告24/资料备份int mai n ()setw(6)salesma n k.showsex()|setw(8)salesmank.showage()| setw(8)销售员|setw(8)salesma n k.get_wage()|setw(16)salesmank.bossnume()| endl;outfile 11111111e ndl;outfile.close();for

27、(;)cout小型公司工资管理系统e ndl;cout 11e ndl;cout |请选择您所需要的操作| endl;cout |数据输入:1,并按回车键| endl;cout |资料统计:2,并按回车键| endl;cout |数据打印:3,并按回车键| endl;cout |资料备份:4,并按回车键| endl;cout |退出系统:5,并按回车键| endl;cout 11e ndl;cout select;/根据序号进行选择操作switch(select)/建立选项表case 1:for(;)面向对象程序设计综合实验报告/输入数据选项中的子选项cout小型公司工资管理系统e ndl;c

28、out |1e ndl;cout |请选择您所需要的操作e ndl;cout|经理数据输入:1,并按回车键e ndl;cout|技术员数据输入:2,并按回车键e ndl;cout|销售员数据输入:3,并按回车键e ndl;cout|销售经理数据输入:4,并按回车键e ndl;cout|返回上一级:5,并按回车键e ndl;cout 1e ndl;cout choice;switch(choice)case 1:In putboss(); b+;break;case 2:In puttech ni ();break;case 3:In putsalesma n();s+;break;case 4

29、:In putsalesboss();sb+;break;case 5:break;default:cout输入有误,请重新输入.endl;if(choice=5) break;break;case 2:if(s=0) cout尚未输入销售员数据.e ndl;if(sb=0) cout尚未输入销售经理数据.e ndl;if(s=0|sb=0) break;maopao();yejibiao();SBra nk();break;case 3:cout请等待.endl;if(t!=O|b!=O|sb!=O|s!=O)26面向对象程序设计综合实验报告cout职工基本情况一览表如下endl; if(t

30、!=O)cout技术员endl;tech nicianin formatia n();coute ndl;if(b!=0)cout经理endl;man ageri nformatio n();cout endl;if(sb!=O)cout销售经理endl;salesma nageri nformatio n();coute ndl;if(s!=0)cout销售员endl;selleri nformatio n();cout endl;if(t=O&b=0&sb=O&s=0)cout尚未录入任何人员资料.endl;elseif(t=0)cout尚未录入技术员数据 .endl;if(b=0)cou

31、t尚未录入经理数据.endl;if(sb=0)cout尚未录入销售经理数据.endl;if(s=0)cout尚未录入销售员数据.endl;if(t=O|b=O|sb=O|s=O)cout请录入所需打印数据或进行其它操作endl;break;case 4:if(t=O|b=O|sb=O|s=O)cout人员数据输入尚未完全,份.e ndl;break;backup_yejibiao();backup_SBra nk();backup_tech ni cia nin formatia n();backup_ma nageri nformati on();backup_salesma nageri

32、nformati on();backup_selleri nformatio n();cout备份中,请等待.endl;break;case 5:char choice;for(;)cout choice;if(choice=Y) exit(0);else if(choice=N) break;else cout输入有误,请重新输入default:cout输入有误,请重新输入.endl;return 0;请打印确认后再备.川:理一经幫薯技采貞的给号汀其姓名:Lucy-!| :u- 馳入计印打 ils回冋回回回- T- j二一 二,二 键键键键键 作WWWJrocess returned 0 execution tine : 810.731 s Jress any key to contin

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1