《小型公司的工资管理系统实训报告》由会员分享,可在线阅读,更多相关《小型公司的工资管理系统实训报告(20页珍藏版)》请在金锄头文库上搜索。
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+) a2i.gonghao=a1i+1.gonghao; strcpy(a2i.zhiwei,a1i+1.zhiwei); strcpy(a2i.xingming,a1i+1.xingming); if(strcm