小型公司的工资管理系统实训报告_第1页
小型公司的工资管理系统实训报告_第2页
小型公司的工资管理系统实训报告_第3页
小型公司的工资管理系统实训报告_第4页
小型公司的工资管理系统实训报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、1000起编号)。(2) 将公司人员的编号、姓名和月薪等信息保存在文件中,然后从文件中读入这些信息并显示。 如果访问文件失败,采用异常处理机制解决。(3) 设计输入,输出的界面。(成绩为优良,需采用MFC方式。若设计困难可以使用DOS方式)二、设计分析:欢迎共阅(1) 类的定义:1、“ employeh”#include #include #include #include #include #include classemployeepublic:employee(); doublegerno(); char*getname(); char*gerpost(); doublegetsalar

3、y(); virtual doublepay()=0; employee(doublen,charmingzi20,doubles) number=n;strcpy(name,mingzi); income=s;Iemployee();protected: doublenumber; charname20; charpost20; doubleincome;classTechnician:publicemployeeprotected: doublehour; doubleper; public: doubleSet_hour(); doublepay();classSaleman:virtu

4、alpublicemployeeprotected:doublesalary;/销售额 public: voidsale(); doublepay();欢迎共阅classManager:virtualpublicemployeeprotected:public:doublepay();;classSalesmanager:virtualpublicManager,virtualpublicSalemanpublic:doublepay();;structpersonintgonghao;charxingming20;charzhiwei20;floatshouru;floatxiaoshi;v

5、oidsaverenshu();intreadrenshu();voiddeletgon(intx);voiddeletname(intx);voidread(intx);voidxiugai_all(intx);voidsavetech(intx,char*y,char*z,floate,floatho); voidsave(intx,char*y,char*z,floate);(2) ”change.cpp#includeemployee.hintk;voidsave(intx,char*y,char*z,floate)II 保存文件structpersona;a.gonghao=x;st

6、rcpy(a.xingming,y);strcpy(a.zhiwei,z);a.shouru=e;coutvv工号:a.gonghao姓名:a.xingming职位:a.zhiwei 工资:vva.shouruvvvendl;fstreamcun;cun.open(保存人员.txt,ios:app|ios:out);if(!cu n)coutvvcannotopenfilevvendl;cunvva.gonghaovvendl;cunvva.zhiweivvendl;欢迎共阅cunvva.xingmingvvendl;cunvva.shouruvvendl;cun.close();voidsa

7、vetech(intx,char*y,char*z,floate,floatho)/ 专用于技术员的保存structpersona;a.gonghao=x;strcpy(a.xingming,y);strcpy(a.zhiwei,z);a.shouru=e;a.xiaoshi=ho;coutvv工号:vva.gonghaovvvv姓名:vva.xingmingvvvv职位:vva.zhiweivv工 作小时:vva.xiaoshivvvv工资:vva.shouruvvvvendl;fstreamcun;cun.open(保存人员.txt,ios:app|ios:out);if(!cu n)co

8、utvvcannotopenfilevvendl;cunvva.gonghaovvendl;cunvva.zhiweivvendl;cunvva.xingmingvvendl;cunvva.xiaoshivvendl;cunvva.shouruvvendl;cun.close();voidsaverenshu()保存在职总人数,以便读取数据fstreamcun;cun.open(个数.txt,ios:trunc|ios:in);if(!cu n)coutvvcannotopenfilevendl;cunvvkvvendl;cun.close();intreadrenshu()/读取在职总人数f

9、streamcun;cun.open(个数.txt,ios:in|ios:out);if(!cu n)coutvvcannotopenfilevvendl;cunk;欢迎共阅returnk;voidread(intx)II读取在职人员信息,参数x为总人数if(x=0)coutvv还没有任何人员的信息,请先添加人员的信息!vvendl;structpersona30;fstreamcun;inti=0;cun.open(保存人员.txt,ios:in|ios:out);if(!cu n) coutvvcannotopenfilevvendl;while(ivx)I I_Jcunai.gongha

10、o;cunai.zhiwei;cunai.xingming; if(strcmp(ai.zhiwei,技术员)=0) cunai.xiaoshi;cunai.shouru;if(strcmp(ai.zhiwei,技术员)=0)coutvv工号:vai.gonghaovvvv姓名:vJK bd=ios:in-ios:ouf);if(oun)宀 cou7Aoannofopenfi-e二八 cend-;whi-e(icx)宀 cunvvsdsgonghao;cunvvsdszhiwei; cunvvsdsxingming;if(arcmp(a1szhiwei=JK tllHO) 宀 . ;cunvv

11、sdsxiaoshi;cunvvsHsshouru if(arcmp(a1szhiwei=JK tllHO) 宀COU7C: H4L tccalsgonghaoccm.ccrmi 二八 calsxingmingccm.cc:sm 二CASH曰 NhiweAA. H、4 ACSHsxs-oshAA=AA H潯-二CCSHsshour-uccmAcend-e_se -宀COU7C: H4L tccalsgonghaoccm.ccrmi 二八 calsxingmingccm.cc二smAcai 曰zhiweAA=AA H 淨二八AalnLshourucAtAcend-;H+cun.coseo=COU

12、7AS鸯 -s-wr刖善 H4n-斥 cendJTinfg;cinvvg;-Ho-whi-e(gH2dsgonghao) 宀H+if(gH2dsgonghao)宀COU7A萍曲一 tecend-ewe宀g欢迎共阅for(i=0;i!=g;i+) a2i.gonghao=a1i.gonghao; strcpy(a2i.zhiwei,a1i.zhiwei); strcpy(a2i.xingming,a1i.xingming); if(strcmp(a1i.zhiwei,技术员)=0) a2i.xiaoshi=a1i.xiaoshi; a2i.shouru=a1i.shouru;for(i;ix;i

13、+) a2i.gonghao=a1i+1.gonghao; strcpy(a2i.zhiwei,a1i+1.zhiwei); strcpy(a2i.xingming,a1i+1.xingming); if(strcmp(a1i+1.zhiwei,技术员)=0)i Ij y a2i.xiaoshi=a1i+1.xiaoshi; a2i.shouru=a1i+1.shouru; for(intl=0;lv(x-1);l+)if(strcmp(a2l.zhiwei,技术员)=0)coutvv工号:vva2l.gonghaovvvv姓名:va2l.xingmingvvvv职位: vva2l.zhiwe

14、iv崖那 &sma tecend-;charxin201;cinvvxing;infg;-Ho-whi-e(arcmp(xingQ)1 曰.xingming)-1 r. h - 1 j-.宀H+gfor(帀 o_.HgT+)a2sgonghaoH2Hsgonghap arcpy(a2szhiweLSHszhiwei=arcpy(a2sxingmingSHsxingming);if(arcmp(a1szhiwei=JK tllHO) 宀a2sxiaoshiH2Hsxiaoshi;a2sshouruH2Hsshouru for(i_.cx_.+) 宀a2sgonghaoH2HTlLgonghao;

15、arcpy (a2szh i weimlTll zh i wei); arcpy(a2 曰.xingmingbln-MLXingming) if(arcmp(a1T二zhiwei=JK tllHO) 宀a2曰.xiaoshiHal Ei-MLXs-oshi; a2sshouruua1T:shouru; for(infll0;A(x1 );-+) 宀if(arcmp(a2szhiwei=JK tllHO)欢迎共阅coutvv工 号:vva2l.gonghaovvvv姓 名:vva2l.xingmingvvvv 职 位: vva2l.zhiweivv工作小时vva2l.xiaoshivvvv工资:

16、vva2l.shouruvvvvendl;elsecoutvv工号:vva2l.gonghaovvvv姓名:vva2l.xingmingvvvv职位: vva2l.zhiweivvvv工资:vva2l.shouruvvvvendl;fstreamcunl;i=0;cun1.open(保存人员.txt,ios:trunc);if(!cun1)coutvvcannotopenfilevvendl;while(iv(x-1)I I_Jcunlvva2i.gonghaovvendl;cunlvva2i.zhiweivvendl;cunlvva2i.xingmingvvendl;if(strcmp(a2

17、i.zhiwei,技术员)=0)cunlvva2i.xiaoshivvendl;cunlvva2i.shouruvvendl;i+;cun1.close();fstreamcun2;cun2.open(个数.txt,ios:trunc|ios:in);if(!cun2)coutvvcannotopenfilevvendl;cun2vv(x-1)vvendl;coutvv成功删除一个员工的数据vvendl;cun2.close();voidxiugai_all(intx)/修改一条记录的内容,参数 x为总人数structpersona130;structpersona230;fstreamcun

18、;inti=0;cun.open(保存人员.txt,ios:in|ios:out);if(!cu n)宀cou7Aoannofopenfi-e二八 cend-;whi-e(icx)宀cunvvsdsgonghao;cunvvsdszhiwei;cunvvsdsxingming;if(arcmp(a1szhiwei=JK tllHO)宀cunvvsdsxiaoshi;cunvvsHsshouruif(arcmp(a1szhiwei=JK tllHO)宀COU7C: H4L tccalsgonghaoccm.ccrmi 二八 calsxingmingccm.cc二sm 二CASH曰 NhiweAA

19、. H、4 ACSHsxs-oshAA=AA H潯-二CCSHsshour-uccmAcend-1 r. h - 1 j-.ewe宀 、丿COU7C: H4L tccalsgonghaoccm.ccrmi 二八 calsxingmingccm.cc二sm二八 Aal 曰zhiweAA=AA H潯-二八AalnLshourucAtAcend-;工+incpgonghaol; charxingmingl uolNhiweil E20-;foaffhourld .Xiaos hM;COU7AS鸯 w潯沏 HsH4n【 斥 cendJT cinvvg;-Ho- whi-e(gH2dsgonghao)

20、宀i+ g for(iuo;iHg;+) 宀a2sgonghaoH2Hsgonghap arcpy(a2szhiweLSHszhiwei= arcpy(a2sxingmingSHsxingming); if(arcmp(a1szhiwei=JK tllHO) 宀a2sxiaoshiH2Hsxiaoshi;a2 曰.shouruHSH 曰shour5=欢迎共阅coutvv请重新输入工号:vvendl;cingonghao1;a2i.gonghao=gonghao1;coutvv请重新输入姓名:vvendl;cinxingming1;strcpy(a2i.xingming,xingming1);c

21、outvv请重新输入职位:vvendl;cinzhiwei1;strcpy(a2i.zhiwei,zhiwei1);if(strcmp(zhiwei1,技术员)=0)coutvv请重新输入工作小时数:vvendl;cinxiaoshi1;a2i.xiaoshi=xiaoshi1;coutvv请重新输入月收入:vvendl;cinshouru1;a2i.shouru=shouru1;if(strcmp(a2i.zhiwei,技术员)=0)coutvv工 号:vva2i.gonghaovvvv 姓 名:vva2i.xingmingvvvv 职 位:vva2i.zhiweivv工作小时:vva2i.

22、xiaoshivvvv工资:vva2i.shouruvvvvendl;elsecoutvv工号:vva2i.gonghaovvvv姓名:vva2i.xingmingvvvv职位: vva2i.zhiweivvvv工资:vva2i.shouruvvvvendl;i=i+1;for(i;ivx;i+)a2i.gonghao=a1i.gonghao;strcpy(a2i.zhiwei,a1i.zhiwei);strcpy(a2i.xingming,a1i.xingming);if(strcmp(a2i.zhiwei,技术员)=0)a2i.xiaoshi=a1i.xiaoshi;a2i.shouru=

23、a1i.shouru;fstreamcunl;i=0;cun1.open(保存人员.txt,ios:trunc);if(!cun1)coutvvcannotopenfilevvendl;欢迎共阅while(ivx) cunlvva2i.gonghaovvendl; cunlvva2i.xingmingvvendl; cunlvva2i.zhiweivvendl; if(strcmp(a2i.zhiwei,技术员)=0) cunlvva2i.xiaoshivvendl;cunlvva2i.shouruvvendl; i+; cun.close();(3) “ employeepp”#includ

24、eemployee.h #include #include #include #include #include #include doubleemployee:gerno() coutvv请输入工号vvendl; cinnumber; returnnumber; char*employee:getname() coutvv请输入姓名vvendl;- Icinname; returnname; char*employee:gerpost() coutvv请输入职位vvendl; cinpost; returnpost;/ doubleTechnician:pay() income=30*100

25、*hour; returnincome; doubleTechnician:Set_hour()欢迎共阅COUtVV工作时间:;cinhour; returnhour;/ voidSaleman:sale()/ 当月销售额coutvv请输入当月销售额vvendl; cinsalary; doubleSaleman:pay() income=salary*0.04; returnincome;/ doubleManager:pay() income=8000; returnincome;/ doubleSalesmanager:pay() income=5000+salary*0.05; ret

26、urnincome;(3)” employeepp”#includeemployee.h #includeviostream.h.#includeviomanip.h #includevstring.h #includevstdio.h #includevstdlib.h #includevfstream.h doubleemployee:gerno() coutvv请输入工号vvendl; cinnumber;returnnumber; char*employee:getname() coutvv请输入姓名vvendl; cinname;returnname;欢迎共阅char*employe

27、e:gerpost()coutvv请输入职位vvendl; cinpost;returnpost;/ doubleTechnician:pay() income=30*100*hour; returnincome; doubleTechnician:Set_hour() _ coutvv工作时间:; cinhour; returnhour;/voidSaleman:sale() / 当月销售额 coutvv请输入当月销售额vvendl; cinsalary;doubleSaleman:pay()income=salary*0.04; returnincome;/ doubleManager:p

28、ay()income=8000; returnincome;/doubleSalesmanager:pay()income=5000+salary*0.05; returnincome; ” gzgl.cpp#includeemployee.h #includevstring.h #includevstdio.h #includevstdlib.h欢迎共阅#includevfstream.h#include#include #includevfstream.h intlntputMenu(); voidreadmenu(); intdeletmenu(); intxiugaimenu(); i

29、ntShowmenu(); intai; externintk; voidmain()Showmenu(); intShowmenu() intnu;nu=readrenshu(); while(1)coutvvendl; coutvv 小型公司工资管理系统vvendl; coutvv |1vvendl;coutvv |数据录入 coutvv |删除数据 coutvv |修改数据 coutvv |读入数据 coutvv |退出系统 coutvv 1coutvv |请选择您所需要的操作:| vvendl;1,并按回车键丨vvendl;2, 并按回车键| vvendl;3, 并按回车键| vven

30、dl;4, 并按回车键| vvendl;5, 并按回车键| vvendl;1vve ndl;coutvvendlvvendlvvendl; coutvv请选择一个操作:; cinai;switch(ai)easel: lntputMenu();break; case2:deletmenu();break;case3:xiugaimenu();break; case4:readmenu();break;case5:return0;break; default:coutvv你的选择出错了! vv请重新输入吧! vvendl; intdeletmenu()欢迎共阅while(1) intr;r=re

31、adrenshu(); coutvvendl;coutvv 小型公司工资管理系统vvendl;coutvv |1vvendl;coutvv |请选择您所需要的操作:| vvendl;coutvv |按工号删除:1,并按回车键| vvendl;coutvv |按姓名删除:2,并按回车键| vvendl;coutvv |返回上一层:3,并按回车键| vvendl;coutvv 11vve ndl;coutvvendlvvendlvvendl;coutvv请选择一个操作:;cinai;switch(ai)casel: deletgon(r);break;case2:deletname(r);brea

32、k;case3:return0;break;default:coutvv你的选择出错了! vv请重新输入吧! vvendl; voidreadmenu() intr;r=readrenshu(); read(r); intxiugaimenu()while(1) intr; r=readrenshu(); coutvvendl; coutvv 小型公司工资管理系统vvendl;coutvv |1vvendl;需要的操作: 丨vvendl;1,并按回车键丨vvendl;2, 并按回车键丨vvendl;3, 并按回车键丨vvendl;4, 并按回车键丨vvendl;coutvv |请选择您所 co

33、utvv |修改工号: coutvv |修改姓名 coutvv |修改职位 coutvv |修改全部coutvv |返回上一层:5,并按回车键| vvendl;coutvv 11vve ndl;coutvvendlvvendlvvendl;欢迎共阅coutvv请选择一个操作:;cinai;switch(ai)/easel: deletgon(r);break; case2:deletname(r);break; case4:xiugai_all(r);break; case5:return0;break;vvendl;default:cout你的选择出错了!请重新输入吧! intlntputMenu()coutvv 小型公司工资管理系统vvendl; coutvv |1 vvendl;coutvv |请选择您所需要的操作| vvendl; coutvv |经理数据输入:1,并按回车键| vvendl; coutvv |技术员数据输入:2,并按回车键| vvendl; coutvv |销售员数据输入:3,并按回车键| vvendl; coutvv |销售经理数据输入:4,并按回车键| vvendl; coutvv |返回上一层:5,并按回车键|

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论