某小型公司的工资管理系统实训报告.docx

上传人:夺命阿水 文档编号:1041051 上传时间:2024-03-01 格式:DOCX 页数:26 大小:213.95KB
返回 下载 相关 举报
某小型公司的工资管理系统实训报告.docx_第1页
第1页 / 共26页
某小型公司的工资管理系统实训报告.docx_第2页
第2页 / 共26页
某小型公司的工资管理系统实训报告.docx_第3页
第3页 / 共26页
某小型公司的工资管理系统实训报告.docx_第4页
第4页 / 共26页
某小型公司的工资管理系统实训报告.docx_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《某小型公司的工资管理系统实训报告.docx》由会员分享,可在线阅读,更多相关《某小型公司的工资管理系统实训报告.docx(26页珍藏版)》请在课桌文档上搜索。

1、某小型公司的工资管理系统实训报告题目:小型公司的工资管理系统00X0指导老师:XXX班级:学号:时间:学生姓名:XXX计 YXXXXXXXXXXXXXXXXXX年X月X日目录一、实训内容与目的2二、设计分析3三、执行结果与结果分析23四、实训总结27实训内容:小型公司的工资管理设计任务编写一个小型公司的工资管理程序。该公司要紧有4类人员:经理、兼职技术人员、销售员与销售经理。其中月薪计算方法为:经理固定月薪8000元,兼职技术如愿100元/小时,销售员为当月销售额的4%,销售经理保底工资5000元另加所管部门销售额的5%。设计要求(1)职工编号自动产生(从IoOo起编号)。(2)将公司人员的编

2、号、姓名与月薪等信息储存在文件中,然后从文件中读入这些信息并显示。假如访问文件失败,使用特殊处理机制解决。(3)设计输入,输出的界面。(成绩为优良,需使用MFC方式。若设计困难能够使用DOS方式)二、设计分析:(1)类的定义:1、“employee.il”#include#iIIdUdeViOmanip.h#include#include#include#includeclassemployee(public:employee();doublegerno();char*getname();char*gerpost();doublegetsalary();virtualdoublepay()=O

3、;employee(doublen9charmingzi20,doubles)(number=n;strcpy(name,mingzi);iIicome=S;)-employee。;protected:doublenumber;charname20;charpost2l;doubleincome;);classTechnician:publicemployee(protected:doublehour;doubleper;public:doubleSet_hour();doublepay(););classSalemanzvirtualpublicemployee(protected:doub

4、leSaIary;销售额public:voidsale();doublepay();classManager:virtualpublicemployee(protected:public:doublepay();classSalesmanagerzvirtualpublicManager9VirtualpublicSaleman(public:doublepay(););structperson(intgonghao;charXingming20;charzhiweif20;floatshouru;floatxiaoshi;);voidsaverenshu();intreadrenshu();

5、voiddeletgon(intx);voiddeletname(intx);voidread(intx);voidxiugai-all(intx);voidsavetech(intx,char*y,char*z,floate,oatho);voidsave(intx,char*y,char*z,floate);(2) ,change.cppwncludeemployee.h,intk;voidsave(intx9char*y,char*z,floate)储存文件(structpersona;a.gonghao=x;strcpy(a.xingming,y);strcpy(a.zhiwei,z)

6、;a.shouru=e;cout*,工号:,a.gonghaon,n姓名:,a.xingming,职位:,a.zhiwei,IS:Ha.shourun,endl;fstreamcun;ClIn.open(储存人员.txt”,ios:app|ios:oiit);if(!cun)(cout,cannotopenfile,endl;)cuna.gonghaoendl;cuna.zhiweiendl;cuna.xingmingendl;cuna.shouruendl;cun.close();)voidsavetech(intx,char*y,char*z,floate,floatho)专用于技术员的储

7、存structpersona;a.gonghao=x;strcpy(a.xingming,y);strcpy(a.zhiwei9z);a.shouru=e;a.xiaoshi=ho;coutn工号:,a.gonghaon,1姓名:,a.xingming,职位:,a.zhiwei,工作小时:,a.xiaoshin,a,shouru,endl;fstreamcun;Clln.open(储存人员.txt,ios=appios:OlIt);if(!cun)cout,cannotopenfile,endl;cuna.gonghaoendl;cuna.zhiweiendl;cuna.xingmingend

8、l;cuna.xiaoshiendl;cuna.shouruendl;cun.close();)voidsaverenshu()储存在职总人数,以便读取数据(fstreamcun;Ciln.open(个数.txt,ios:trunc|ios:in);if(!cun)(coutcannotopenfile,endl;)cunkendl;cun.close();)intreadrenshu()读取在职总人数(fstreamcun;CIIlI.open(个数.txtios:inios:Oilt);if(!cun)(cout,cannotopenfi)e,k;returnk;)voidread(int

9、x)读取在职人员信息,参数X为总人数(jf(=O)(COUtVV”还没有任何人员的信息,请先添加人员的信息!”vendl;)structpersona30;fstreamcun;inti=0;CIln.open(储存人员.txt”,ios:in|ios:OlIt);if(!cun)cout,cannotopenfile,endl;while(iai.gonghao;cunafi.zhiwei;cunai.xingming;1我立5(2国.2加3d,技术员)=0)(cunai.xiaoshi;cunai.shouru;if(strcmp(ai.zhiwei,”技术员)=0)(CoIltVV”工号

10、:,aij.gonghao,v”姓名:,ai.xingming,n职位:Mai.zhiweiH工作小时,ai.xiaoshi,n工资:ai.shourunt,endl;)else(COIltVV”工号:nai.gonghaonaiJ.xingmingM,h职位:”vai.zhiweivv工资:naiJ.shourunendl;)i+;)cun.close();)voiddeletgon(intx)按工号删除函数,参数X为总人数(if(x=O)(Colltv”没有任何员工的信息,请先增加员工的信息”vendl;structpersonal301;structpersona2301;fstream

11、cun;inti=0;Ciln.open(储存人员.txt,ios:in|ios:out);if(!cun)(cout,cannotopenfile*endl;)while(iali.gonghao;cunali.zhiwei;cunali.xingming;if(strcmp(alij.zhiwei,n技术员,)=0)(cunali.xiaoshi;cunal11.shouru;(丘5(21国.2111、入技术员)=0)(COiItVV”工号:HaliJ.gonghaoH:,alij.xingming,职位:,ali.zhiwei,工作小时,ali.xiaoshi,m工资:ali.shour

12、un,endl;)else(COIltVV”工号:Hali.gonghaoH,ali.xingming,职位:naliJ.zhiwei,IS:,ali.shouru,endl;)i+;)cun.close();IiiiiiiiiiiiiiiiiiiiCOUtV请输入要删除人员的工号:vg;i=0;while(g!=alil.gonghao)(i+;)if(g!=ali.gonghao)(COUtVV没找到!vendl;)else(g=i;for(i=0;i!=g;i+)(a2i.gonghao=ali.gonghao;strcpy(a2i.zhiwei,alizhiwei);strcpy(a2

13、i.xingming9ali.xingming);if(strcmp(ali.zhiwei,“技术员”)=0)a2i.xiaoshi=ali.xiaoshi;a2i.shouru=ali.shouru;)for(i;ix;i+)(a2il.gonghao=ali+l.gonghao;strcpy(a2i.zhiwei,ali+l.zhiwei);strcpy(a2i.xingming,a1i+1xingming);if(strcmp(ali+ILZhiWeiJ技术员)=0)(a2i.xiaoshi=ali+l.xiaoshi;)a2i.shouru=ali+l.shouru;)for(intl

14、=0;l(x-l);!+)(if(strcmp(a2l.zhiweij技术员)=0)(COUtVV”工号:Ma2lJ.gonghaoM:,a2lj.xingming,职位:,a2l.zhiwei工作小时,a2l.xiaoshihm工资:Ha2fl.shouruHendl;elseColItVV”工号:,a2l.gonghaon,g:,a2l.xingming,”职位:Ma2l.zhiweiHn,lS:”vva2l.shouruvv”vendl;fstreamcunl;i=0;CiInLOPeI(储存人员.txt,ios:tninc);if(!cunl)cout,cannotopenfile,e

15、ndl;while(i(x-l)cunla2fi.gonghaoendl;cunla2il.zhiweiendl;cunla2fi.xingmingendl;if(strcmp(a2i.zhiwei9t技术员,)=0)cunla2i.xiaoshiendl;cunla2f11.shouruendl;i+;)cunl.close();fstreamcun2;CiIn2.open(个数.txt”,ios:tmnc|ios:in);if(!cun2)(cout,cannotopenfile,endl;)cun2(x-l)endl;CoUtV成功删除一个员工的数据VVend1;cun2.close()

16、;)voiddeletname(intx)按姓名删除函数,参数X为总人数(if(x=O)(COIltVV”没有任何员工的信息,请先增加员工的信息”vendl;)structpersonal30;structpersona230;fstreamcun;inti=0;CiIlI.open(储存人员.txt”,ios:in|ios:Ollt);if(!cun)(cout,cannotopenfi)e,endl;)while(ialfil.gonghao;cunalfil.zhiwei;cunali.xingming;if(strcmp(alizhiwei,”技术员)=0)(cunali.xiaosh

17、i;)cunal11.shouru;if(strcmp(ali.zhiweij技术员)=0)COlltVV”工号:,ali.gonghao,ali.xingmingn,职位:,ali.zhiwei,工作小时Mali.xiaoshiHhm工资:,ali.shourunendl;)else(CoUtVV”工号:Hali.gonghaoHMaliJ.xingmingH,职位:Mali.zhiweiH,ali.shourun,endl;)i+;)cun.close();IiiiiiiiiiiiiiiiiiiiCOiItVV”请输入要删除人员的姓名:nxing;hitg;i=0;while(strcmp

18、(xing,ali.xingmmg)(i+;)g=i;for(i=0;i!=g;i+)(a2i.gonghao=ali.gonghao;strcpy(a2i.zhiwei,ali.zhiwei);strcpy(a2i.xingming,ali.xingming);if(strcmp(alizhiweij技术员)=0)(a2i.xiaoshi=ali.xiaoshi;)a2i.shouru=ali.shouru;)for(i;ix;i+)(a2i.gonghao=ali+l.gonghao;strcpy(a2i.zhiwei9ali+l.zhiwei);strcpy(a2i.xingming9a

19、1i+1xingming);if(strcmp(ali+lJ.zhiwei,Mn)=)(a2i.xiaoshi=ali+l.xiaoshi;)a2i.shouru=ali+l.shouru;(丘5(221.23、1,技术员)=0)(COlItVV”工号:na2l.gonghaon,g:na2l.xingmingMn,K位:Ha2l.zhiweiH工作小时,a2lj.xiaoshi,na2l.shouru,endl;)else(COIltVV”工号:Ha2l.gonghaoH,a2lj.xingming,t,职位:Ma2l.zhiweiH,nlS:na2l.shouru,endl;)fstrea

20、mcunl;i=0;CIInLOPen(储存人员.txt,ios:trunc);if(!cunl)(cout,cannotopenfile,endl;)while(i(x-l)(cunla2i.gonghaoendl;cunla2i.zhiweiendl;cunla2fi.xingmingendl;if(strcmp(a2izhiweiJ技术员)=0)(cunla2fi.xiaoshiendl;)cunla2i.shouruendl;i+;)cunl.close();fstreamcun2;CIln2.open(个数.txt,ios:trunc|ios:iii);if(!cun2)(cout,

21、cannotopenfile,endl;cun2(x-l)endl;COUtVV”成功删除一个员工的数据vendl;cun2.close();)voidxiugai_all(intx)修改一条记录的内容,参数X为总人数(structpersonal30;structpersona230;fstreamcun;inti=0;CiIiI.open(储存人员.txt”,ios:iii|ios:out);if(!cun)(cout,cannotopenfi)e,endl;)while(ialfil.gonghao;cunalfil.zhiwei;cunali.xingming;if(strcmp(al

22、i.zhiwei,n技术员,)=0)(cunali.xiaoshi;)cunal11.shouru;if(strcmp(ali.zhiweij技术员)=0)(ColltVV”工号:Hali.gonghaoH,ali.xingmingM,职位:,ali.zhiwei,工作小时,alij.xiaoshihm工资:,ali.shourunendl;)else(COUtVV”工号:nali.gonghao,*,alij.xingming,职位:Mali.zhiweiM,Is,alij.shourun,endl;)i+;)intg,gonghaol;charxingmingl20,zhiweil20;f

23、loatshourul,xiaoshil;COUtV请输入要修改员工的工号:vg;i=0;while(g!=ali.gonghao)i+;)g=i;for(i=0;i!=g;i+)(a2i.gonghao=ali.gonghao;strcpy(a2i.zhiwei9ali.zhiwei);strcpy(a2i.xingming9ali.xingming);(丘5(21国.2111、入技术员)=0)(a2i.xiaoshi=ali.xiaoshi;)a2i.shouru=ali.shouru;CoIltVV”请重新输入工号:,gonghaol;a2i.gonghao=gonghaol;COUtV

24、V”请重新输入姓名:,xingmingl;strcpy(a2i.xingming,xingmingl);COUtVV”请重新输入职位:,zhiweil;strcpy(a2i.zhiwei,zhiweil);if(StrCmP(ZhiWeilj技术员)=0)(CoUtVV”请重新输入工作小时数:nxiaoshil;a2i.xiaoshi=xiaoshil;COUtVV”请重新输入月收入:,vshourul;a2i.shouru=shourul;if(strcmp(a2i.zhiweit技术员,)=0)(CoUtVV”工号:Ha2i.gonghaoM:,a2iJ.xingmingM,MR:,a2i

25、.zhiwei工作小时:na2i.xiaoshin”v”工资:Ma2iJ.shouruHendl;)else(COIltVV”工号:,a2i.gonghao,a2ij.xingming,职位:Ma2i.zhiweiH,IS:na2i.shouru,endl;i=i+l;for(i;ix;i+)(a2i.gonghao=ali.gonghao;strcpy(a2i.zhiwei,ali.zhiwei);strcpy(a2i.xingming,ali.xingming);if(strcmp(a2izhiweij技术员)=0)(a2i.xiaoshi=ali.xiaoshi;)a2i.shouru=

26、ali.shouru;)fstreamcunl;i=0;CIlIlLoPen(储存人员txt,iosktrmc);if(!cunl)(cout,cannotopenfile*endl;)while(ix)(cunla2fil.gonghaoendl;cunla2fi.xingmingendl;cunla2il.zhiweiendl;if(strcmp(a2i.zhiweij技术员)=0)(cunla2il.xiaoshiendl;cunla2fi.shouruendl;i+;)cun.close();)(3) “employee.cpp”#includeemployeeh”#include#i

27、nclude#include#include#include#includedoubleemployee:gerno()(coutnumber;returnnumber;)char*employee:getname()(COUtV请输入姓名,name;returnname;)char*employee:gerpost()COUtVV”请输入职位vvendl;cinpost;returnpost;)IiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiidoubleTechnician:pay()(income=30*100*hour;returnincome;)doubleTec

28、hnician:Set_hour()(CoUtVV”工作时间:n;cinhour;returnhour;)IiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiivoidSaleman:sale()当月销售额CoiItVV”请输入当月销售额“salary;)doubleSaleman:pay()(income=salary*0.04;returnincome;)IiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiidoubleManager:pay()income=8000;returnincome;)Iiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

29、iiiidoubleSalesmanager:pay()(income=5000+salary*0.05;returnincome;)(3)“employee.cpp”ncludeemployee.h,#include#include#include#include#include#includedoubleemployee:gerno()(COiItVV”请输入工号number;returnnumber;)char*employee:getname()COIltVV”请输入姓名”name;returnname;)char*employee:gerpost()(COiItVV”请输入职位”po

30、st;returnpost;)doubleTechnician:pay()(income=30*100*hour;returnincome;)doubleTechnician:Set_hour()CoUtVV”工作时间:”;cinhour;returnhour;)IiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiivoidSalemanusaleO当月销售额COUtVV”请输入当月销售额“salary;)doubleSalemanupayO(income=salary*0.04;returnincome;)doubleManager:pay()(income=8000;ret

31、urnincome;)IiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiidoubleSalesmanager:pay()(income=5000+salary*0.05;returnincome;)(4)wgzgl.cppwinclude,employee.h#include#include#include#include#include#include#includeintIntputMenuQ;voidreadmenu();intdeletmenu();intxiugaimenu();intShowmenu();intai;externintk;voidmain()(S

32、howmenu();)intShowmenu()intnu;nu=readrenshu();while(l)(coutendl;coutncoutcout小型公司工资管理系统,endl;IIWCiiui,请选择您所需要的操作:Iyvendl;coutnI数据录入:1,并按回车键I-endl;coutnI删除数据:2,并按回车键I,endl;coutI修改数据:,并按回车键I,endl;coutI读入数据:4,并按回车键Iendl;coutnI退出系统:5,并按回车键Iendl;coutI1,endl;coutendlendlendl;coutai;switch(ai)(case 1: Intp

33、utMenu();break;case2:deletmenu();break;case3:XilIgaimenlI();break;case4:readmenu();break;case5:returnO;break;default:COUtVV你的选择出错了!请重新输入吧!vvendl;)intdeletmenu()while(l)intr;r=readrenshu();coutendl;CoIItVv”小型公司工资管理系统,endl;coutnI1,endl;coutvv”I请选择您所需要的操作:Iendl;couttI按工号删除:1,并按回车键Iendl;coutI按姓名删除:2,并按回

34、车键I,endl;coutnI返回上一层:3,并按回车键Iendl;coutn11,endl;coutendlendlendl;coutai;switch(ai)(caseX:deletgon(r);break;case2:deletname(r);break;case3:returnO;break;default:COUtVV你的选择出错了!请重新输入吧!vendl;)voidreadmenu()(intr;r=readrenshu();read(r);)intxiugaimenu()(while(l)(intr;r=readrenshu();coutendl;coutM小型公司工资管理系统

35、,endl;coutI1,endl;coutI请选择您所需要的操作:I,endl;coutnI修改工号:1,并按回车键I,endl;COIItVv”I修改姓名:2,并按回车键IkVelld1;cout,I修改职位:3,并按回车键i,endl;couti修改全部:4,并按回车键i,endl;coutnI返回上一层:5,并按回车键I,endl;cout11endl;coutendlendlai;switch(ai)(/casel:deletgon(r);break;/case2:deletname(r);break;case4:xiugai_all(r);break;case5:returnO;b

36、reak;default:COUtVV你的选择出错了!请重新输入吧!vvendl;)intIntputMenuQcoutl小型公司工资管理系统*7kven11;coutncoutI请选择您所需要的操作I,endl;coutnI经理数据输入:1,并按回车键I,endl;coutI技术员数据输入:2,并按回车键Iendl;coutnI销售员数据输入:3,并按回车键I,endl;coutI销售经理数据输入:4,并按回车键I,endl;coutnI返回上一层:5,并按回车键I,endl;cout1,endl;CoiItai;switch(ai)case1:(Managerjingli;doublea;

37、char*b,*c;doubled;a=jingli.gerno();b=jingli.gerpost();c=jinglLgetname();d=jingli.pay();save(a,c,b,d);CoUtv”已经成功储存啦!,vvendl;k+;saverenshu();break;case 2: Technicianjishu;doublea;char*b,*c;doubled,f;a=jishu.gerno();b=jishu.gerpost();c=jishu.getname();f=jishu.Set_hour();d=jishu.pay();savetech(a,c,b,d,f);COUtVV”已经成功储存啦!vvendl;k+;saverenshu();break;)case3:Salemanxiaoshou;inta;char*b,*c;floatd,f;a=xiaoshou.gerno();b=xiaoshou.gerpost();c=xiaoshou.getname();xiaoshou.sale();d=xiaoshou.pay();save(a,c,b,d);ColltVV”已经成功储存啦!vvendl;k+;saverenshu();break;)case 4:(

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号