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

上传人:scccc 文档编号:12313917 上传时间:2021-12-03 格式:DOC 页数:23 大小:181.50KB
返回 下载 相关 举报
小型公司的工资管理系统实训报告.doc_第1页
第1页 / 共23页
小型公司的工资管理系统实训报告.doc_第2页
第2页 / 共23页
小型公司的工资管理系统实训报告.doc_第3页
第3页 / 共23页
小型公司的工资管理系统实训报告.doc_第4页
第4页 / 共23页
小型公司的工资管理系统实训报告.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

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

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<iostream.h> #include<iomanip.h> #include<stdio.h> #include<string.h> #include<fstream.h> #include<tc

3、har.h> classemployeepublic:employee(); doublegerno(); char*getname(); char*gerpost(); doublegetsalary(); virtual doublepay()=0; employee(doublen,charmingzi20,doubles) number=n;strcpy(name,mingzi); income=s;Iemployee();protected: doublenumber; charname20; charpost20; doubleincome;classTechnician:p

4、ublicemployeeprotected: doublehour; doubleper; public: doubleSet_hour(); doublepay();classSaleman:virtualpublicemployeeprotected:doublesalary;/销售额 public: voidsale(); doublepay();欢迎共阅classManager:virtualpublicemployeeprotected:public:doublepay();;classSalesmanager:virtualpublicManager,virtualpublicS

5、alemanpublic:doublepay();;structpersonintgonghao;charxingming20;charzhiwei20;floatshouru;floatxiaoshi;voidsaverenshu();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) ”

6、change.cpp#include"employee.h"intk;voidsave(intx,char*y,char*z,floate)II 保存文件structpersona;a.gonghao=x;strcpy(a.xingming,y);strcpy(a.zhiwei,z);a.shouru=e;coutvv"工号:"<<a.gonghao<<""<<"姓名:"<<a.xingming<<""<<"职位:

7、"<<a.zhiwei<<""<<" 工资:"vva.shouru<v""vvendl;fstreamcun;cun.open("保存人员.txt",ios:app|ios:out);if(!cu n)coutvv"cannotopenfile"vvendl;cunvva.gonghaovvendl;cunvva.zhiweivvendl;欢迎共阅cunvva.xingmingvvendl;cunvva.shouruvvendl;cun.clo

8、se();voidsavetech(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.gonghaovv""vv"姓名:"vva.xingmingvv""vv"职位:"vva.zhiweivv"工 作小时:"vva.xiaoshi

9、vv""vv"工资:"vva.shouruvv""vvendl;fstreamcun;cun.open('保存人员.txt",ios:app|ios:out);if(!cu n)coutvv"cannotopenfile"vvendl;cunvva.gonghaovvendl;cunvva.zhiweivvendl;cunvva.xingmingvvendl;cunvva.xiaoshivvendl;cunvva.shouruvvendl;cun.close();voidsaverenshu()保

10、存在职总人数,以便读取数据fstreamcun;cun.open("个数.txt",ios:trunc|ios:in);if(!cu n)coutvv"cannotopenfile"v<endl;cunvvkvvendl;cun.close();intreadrenshu()/读取在职总人数fstreamcun;cun.open("个数.txt",ios:in|ios:out);if(!cu n)coutvv"cannotopenfile"vvendl;cun»k;欢迎共阅returnk;voidr

11、ead(intx)II读取在职人员信息,参数x为总人数if(x=0)coutvv"还没有任何人员的信息,请先添加人员的信息!"vvendl;structpersona30;fstreamcun;inti=0;cun.open("保存人员.txt",ios:in|ios:out);if(!cu n) coutvv"cannotopenfile"vvendl;while(ivx)I I_Jcun»ai.gonghao;cun»ai.zhiwei;cun»ai.xingming; if(strcmp(ai.zh

12、iwei,"技术员")=0) cun»ai.xiaoshi;cun»ai.shouru;if(strcmp(ai.zhiwei,"技术员")=0)coutvv"工号:"v<ai.gonghaovv""vv"姓名:"v<ai.xingmingvv""vv"职位:"vvai.zhiweivv"工作小时"vvai.xiaoshivv""vv"工资:"vvai.shouru

13、vv""vvendl;elsecoutvv"工 号:"vvai.gonghaovv""vv"姓 名:"vvai.xingmingvv""vv"职 位: "vvai.zhiweivv""vv"工资:"vvai.shouruvv""vvendl;i+;cun.close();voiddeletgon(intx)II按工号删除函数,参数 x为总人数if(x=0)coutvv"没有任何员工的信息,请先增加员工的信息

14、"vvendl;structpersona130;aruapersona2E301;fareamcun imiuo cunopen(>JK bd=ios:in-ios:ouf);if(oun)宀 cou7Aoannofopenfi-e二八 cend-;whi-e(icx)宀 cunvvsdsgonghao;cunvvsdszhiwei; cunvvsdsxingming;if(arcmp(a1szhiwei=>JK tllHO) 宀 . ;cunvvsdsxiaoshi;cunvvsHsshouru if(arcmp(a1szhiwei=>JK tllHO) 宀CO

15、U7C: 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=COU7AS鸯 >«-s-'w>r'刖善 H4n-斥 cendJTinf

16、g;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;i<x;i

17、+) 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.gonghaovv&

18、quot;"vv"姓名:"v<a2l.xingmingvv""vv"职位: "vva2l.zhiweiv<"工作小时"vva2l.xiaoshivv""vv"工资:"vva2l.shouruvv""vvendl;elsecoutvv"工号:"vva2l.gonghaovv""vv"姓名:"vva2l.xingmingvv""vv"职位: &quo

19、t;vva2l.zhiweivv""vv"工资:"vva2l.shouruvv""vvendl;fstreamcunl;i=0;cunl.open('保存人员.txt",ios:trunc);if(!cun1) coutvv"cannotopenfile"vvendl;while(iv(x-1) cunlvva2i.gonghaovvendl; cunlvva2i.zhiweivvendl; cunlvva2i.xingmingvvendl;欢迎共阅if(strcmp(a2i.zhiwei,&qu

20、ot;技术员")=0) cunlvva2i.xiaoshivvendl;cunlvva2i.shouruvvendl;i+; cun1.close(); fstreamcun2; cun2.open('个数.txt",ios:trunc|ios:in);if(!cun2) coutvv"cannotopenfile"vvendl;cun2vv(x-1)vvendl;coutvv"成功删除一个员工的数据"vvendl; cun2.close();voiddeletname(intx)/按姓名删除函数,参数x为总人数if(x=0)

21、coutvv"没有任何员工的信息,请先增加员工的信息"vvendl;structpersona130;structpersona230; fstreamcun;inti=0;cun.open("保存人员.txt",ios:in|ios:out);if(!cun) coutvv"cannotopenfile"vvendl;while(ivx)cun»a1i.gonghao;cun»a1i.zhiwei;cun»a1i.xingming; if(strcmp(a1i.zhiwei,"技术员"

22、;)=0)cun»a1i.xiaoshi; cun»a1i.shouru; if(strcmp(a1i.zhiwei,"技术员")=0)coutvv"工号:"vva1i.gonghaovv""vv"姓名:"vva1i.xingmingvv""vv"职位:二CASH曰 NhiweAA. H、£4 ACSHsxs-oshAA=AA H潯-二CCSHsshour-uccmAcend- ewe宀COU7C: H4L tccalsgonghaoccm.ccrmi 二

23、八 calsxingmingccm.cc二sm二八 Aal 曰zhiweAA=AA H 字二八AalnLshourucAtAcend-;H+cun.coseo=COU7A*>«崖那 >&sma tecend-;charxin£201;cinvvxing;infg;-Ho-whi-e(arcmp(xingQ)1 曰.xingming)-1 r. h« - 1 j-.宀H+g±for(帀 o_.HgT+)a2sgonghaoH2Hsgonghap arcpy(a2szhiweLSHszhiwei=arcpy(a2sxingmingSHsx

24、ingming);if(arcmp(a1szhiwei=>JK tllHO) 宀a2sxiaoshiH2Hsxiaoshi;a2sshouruH2Hsshouru for(i_.cx_.+) 宀a2sgonghaoH2HTlLgonghao;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(x

25、1 );-+) 宀if(arcmp(a2szhiwei=>JK tllHO)欢迎共阅coutvv"工 号:"vva2l.gonghaovv""vv"姓 名:"vva2l.xingmingvv""vv" 职 位: "vva2l.zhiweivv"工作小时"vva2l.xiaoshivv""vv"工资:"vva2l.shouruvv""vvendl;elsecoutvv"工号:"vva2l.go

26、nghaovv""vv"姓名:"vva2l.xingmingvv""vv"职位: "vva2l.zhiweivv""vv"工资:"vva2l.shouruvv""vvendl;fstreamcunl;i=0;cun1.open('保存人员.txt",ios:trunc);if(!cun1)coutvv"cannotopenfile"vvendl;while(iv(x-1)I I_Jcunlvva2i.gonghaovv

27、endl;cunlvva2i.zhiweivvendl;cunlvva2i.xingmingvvendl;if(strcmp(a2i.zhiwei,"技术员")=0)cunlvva2i.xiaoshivvendl;cunlvva2i.shouruvvendl;i+;cun1.close();fstreamcun2;cun2.open('个数.txt",ios:trunc|ios:in);if(!cun2)coutvv"cannotopenfile"vvendl;cun2vv(x-1)vvendl;coutvv"成功删除一个员工

28、的数据"vvendl;cun2.close();voidxiugai_all(intx)/修改一条记录的内容,参数 x为总人数structpersona130;structpersona230;fstreamcun;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)宀cunv

29、vsdsxiaoshi;cunvvsHsshouruif(arcmp(a1szhiwei=>JK tllHO)宀COU7C: H4L tccalsgonghaoccm.ccrmi 二八 calsxingmingccm.cc二sm 二CASH曰 NhiweAA. 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潯-二八AalnL

30、shourucAtAcend-;工+incpgonghaol; charxingmingl uolNhiweil E20-;foaffhourld .Xiaos hM;COU7AS鸯 >«w潯沏 HsH4n【 斥 cendJT cinvvg;-Ho- whi-e(gH2dsgonghao) 宀i+ g± for(iuo;iHg;+) 宀a2sgonghaoH2Hsgonghap arcpy(a2szhiweLSHszhiwei= arcpy(a2sxingmingSHsxingming); if(arcmp(a1szhiwei=>JK tllHO) 宀a2sxi

31、aoshiH2Hsxiaoshi;a2 曰.shouruHSH 曰shour5=欢迎共阅coutvv"请重新输入工号:"vvendl;cin»gonghao1;a2i.gonghao=gonghao1;coutvv"请重新输入姓名:"vvendl;cin»xingming1;strcpy(a2i.xingming,xingming1);coutvv"请重新输入职位:"vvendl;cin»zhiwei1;strcpy(a2i.zhiwei,zhiwei1);if(strcmp(zhiwei1,"

32、技术员")=0)coutvv"请重新输入工作小时数:"vvendl;cin»xiaoshi1;a2i.xiaoshi=xiaoshi1;coutvv"请重新输入月收入:"vvendl;cin»shouru1;a2i.shouru=shouru1;if(strcmp(a2i.zhiwei,"技术员")=0)coutvv"工 号:"vva2i.gonghaovv""vv" 姓 名:"vva2i.xingmingvv""vv&quo

33、t; 职 位:"vva2i.zhiweivv"工作小时:"vva2i.xiaoshivv""vv"工资:"vva2i.shouruvv""vvendl;elsecoutvv"工号:"vva2i.gonghaovv""vv"姓名:"vva2i.xingmingvv""vv"职位: "vva2i.zhiweivv""vv"工资:"vva2i.shouruvv"&

34、quot;vvendl;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=a1i.shouru;fstreamcunl;i=0;cun1.open('保存人员.txt",ios:trunc);if(!cun1)coutvv"cannotopenfile&qu

35、ot;vvendl;欢迎共阅while(ivx) cunlvva2i.gonghaovvendl; cunlvva2i.xingmingvvendl; cunlvva2i.zhiweivvendl; if(strcmp(a2i.zhiwei,"技术员")=0) cunlvva2i.xiaoshivvendl;cunlvva2i.shouruvvendl; i+; cun.close();(3) “ employeepp”#include"employee.h" #include<iostream.h> #include<iomanip.

36、h> #include<string.h> #include<stdio.h> #include<stdlib.h> #include<fstream.h> doubleemployee:gerno() coutvv"请输入工号"vvendl; cin»number; returnnumber; char*employee:getname() coutvv"请输入姓名"vvendl;- Icin>>name; returnname; char*employee:gerpost()

37、 coutvv"请输入职位"vvendl; cin>>post; returnpost;/ doubleTechnician:pay() income=30*100*hour; returnincome; doubleTechnician:Set_hour()欢迎共阅COUtVV"工作时间:"cin»hour; returnhour;/ voidSaleman:sale()/ 当月销售额coutvv"请输入当月销售额"vvendl; cin>>salary; doubleSaleman:pay() i

38、ncome=salary*0.04; returnincome;/ doubleManager:pay() income=8000; returnincome;/ doubleSalesmanager:pay() income=5000+salary*0.05; returnincome;(3)” employeepp”#include"employee.h" #includeviostream.h>."#includeviomanip.h> #includevstring.h> #includevstdio.h> #includevstd

39、lib.h> #includevfstream.h> doubleemployee:gerno() coutvv"请输入工号"vvendl; cin>>number;returnnumber; char*employee:getname() coutvv"请输入姓名"vvendl; cin>>name;returnname;欢迎共阅char*employee:gerpost()coutvv"请输入职位"vvendl; cin»post;returnpost;/ doubleTechnici

40、an:pay() income=30*100*hour; returnincome; doubleTechnician:Set_hour() _ coutvv"工作时间:" cin»hour; returnhour;/voidSaleman:sale() / 当月销售额 coutvv"请输入当月销售额"vvendl; cin>>salary;doubleSaleman:pay()income=salary*0.04; returnincome;/ doubleManager:pay()income=8000; returnincom

41、e;/doubleSalesmanager:pay()income=5000+salary*0.05; returnincome; ” gzgl.cpp'#include"employee.h" #includevstring.h> #includevstdio.h> #includevstdlib.h>欢迎共阅#includevfstream.h>#include<iomanip.h>#include<iostream.h> #includevfstream.h> intlntputMenu(); voidre

42、admenu(); intdeletmenu(); intxiugaimenu(); intShowmenu(); intai; externintk; voidmain()Showmenu(); intShowmenu() intnu;nu=readrenshu(); while(1)coutvvendl; coutvv" 小型公司工资管理系统"vvendl; coutvv" |1"vvendl;coutvv" |数据录入 coutvv" |删除数据 coutvv" |修改数据 coutvv" |读入数据 cou

43、tvv" |退出系统 coutvv" 1coutvv" |请选择您所需要的操作:| "vvendl;1,并按回车键丨"vvendl;2, 并按回车键| "vvendl;3, 并按回车键| "vvendl;4, 并按回车键| "vvendl;5, 并按回车键| "vvendl;1"vve ndl;coutvvendlvvendlvvendl; coutvv"请选择一个操作:" cin>>ai;switch(ai)easel: lntputMenu();break;

44、case2:deletmenu();break;case3:xiugaimenu();break; case4:readmenu();break;case5:return0;break; default:coutvv"你的选择出错了! "vv"请重新输入吧! "vvendl; intdeletmenu()欢迎共阅while(1) intr;r=readrenshu(); coutvvendl;coutvv" 小型公司工资管理系统"vvendl;coutvv" |1"vvendl;coutvv" |请选择您

45、所需要的操作:| "vvendl;coutvv" |按工号删除:1,并按回车键| "vvendl;coutvv" |按姓名删除:2,并按回车键| "vvendl;coutvv" |返回上一层:3,并按回车键| "vvendl;coutvv" 11"vve ndl;coutvvendlvvendlvvendl;coutvv"请选择一个操作:"cin»ai;switch(ai)casel: deletgon(r);break;case2:deletname(r);break;ca

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

47、丨"vvendl;3, 并按回车键丨"vvendl;4, 并按回车键丨"vvendl;coutvv" |请选择您所 coutvv" |修改工号: coutvv" |修改姓名 coutvv" |修改职位 coutvv" |修改全部coutvv" |返回上一层:5,并按回车键| "vvendl;coutvv" 11"vve ndl;coutvvendlvvendlvvendl;欢迎共阅coutvv"请选择一个操作:"cin»ai;switch(ai)

48、/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; cout

49、vv" |经理数据输入:1,并按回车键| "vvendl; coutvv" |技术员数据输入:2,并按回车键| "vvendl; coutvv" |销售员数据输入:3,并按回车键| "vvendl; coutvv" |销售经理数据输入:4,并按回车键| "vvendl; coutvv" |返回上一层:5,并按回车键| "vvendl; coutvv" 11 "vve ndl;coutvv"请选择一个操作:"cin»ai;switch(ai)easel:Managerjingli; doublea; char*b,*c; doubled; a=jingli.gerno(); b=jingli.gerpost(); c=jingli.getname(); d=jingli.pay(); save(a,c,b,d); coutvv"已经成功保存啦!"vvendl;k+;saverenshu();break;case2:Technicianjishu; doublea; char*b,*c; doubled,f;欢迎共阅a=jishu.gerno(); b=jishu.gerpost(); c=jishu.ge

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

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


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