您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 小型公司的工资管理系统实训报告
面向对象实训报告----题目:小型公司的工资管理系统指导老师:xxx学生姓名:xxx班级:计Yxxx学号:xxxxxxxxxxx时间:xxxx年x月x日1目录一、实训内容与目的-------------------------------------------2二、设计分析----------------------------------------------------3三、执行结果和结果分析-------------------------------------23四、实训总结---------------------------------------------------272一、实训内容:小型公司的工资管理设计任务编写一个小型公司的工资管理程序。该公司主要有4类人员:经理、兼职技术人员、销售员和销售经理。其中月薪计算方法为:经理固定月薪8000元,兼职技术如愿100元/小时,销售员为当月销售额的4%,销售经理保底工资5000元另加所管部门销售额的5‰。设计要求(1)职工编号自动产生(从1000起编号)。(2)将公司人员的编号、姓名和月薪等信息保存在文件中,然后从文件中读入这些信息并显示。如果访问文件失败,采用异常处理机制解决。(3)设计输入,输出的界面。(成绩为优良,需采用MFC方式。若设计困难可以使用DOS方式)3二、设计分析:(1)类的定义:1、“employee.h”#includeiostream.h#includeiomanip.h#includestdio.h#includestring.h#includefstream.h#includetchar.hclassemployee{public:employee(){};doublegerno();char*getname();char*gerpost();doublegetsalary();virtualdoublepay()=0;employee(doublen,charmingzi[20],doubles){number=n;strcpy(name,mingzi);income=s;}~employee(){};protected:doublenumber;charname[20];charpost[20];doubleincome;};classTechnician:publicemployee{protected:doublehour;doubleper;public:4doubleSet_hour();doublepay();};classSaleman:virtualpublicemployee{protected:doublesalary;//销售额public:voidsale();doublepay();};classManager:virtualpublicemployee{protected:public:doublepay();};classSalesmanager:virtualpublicManager,virtualpublicSaleman{public:doublepay();};structperson{intgonghao;charxingming[20];charzhiwei[20];floatshouru;floatxiaoshi;};voidsaverenshu();intreadrenshu();voiddeletgon(intx);voiddeletname(intx);5voidread(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)//保存文件{structpersona;a.gonghao=x;strcpy(a.xingming,y);strcpy(a.zhiwei,z);a.shouru=e;cout工号:a.gonghao姓名:a.xingming职位:a.zhiwei工资:a.shouruendl;fstreamcun;cun.open(保存人员.txt,ios::app|ios::out);if(!cun){coutcannotopenfileendl;}cuna.gonghaoendl;cuna.zhiweiendl;cuna.xingmingendl;cuna.shouruendl;cun.close();}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;cout工号:a.gonghao姓名:a.xingming职位:a.zhiwei工作小时:a.xiaoshi工资:a.shouruendl;fstreamcun;cun.open(保存人员.txt,ios::app|ios::out);if(!cun)6{coutcannotopenfileendl;}cuna.gonghaoendl;cuna.zhiweiendl;cuna.xingmingendl;cuna.xiaoshiendl;cuna.shouruendl;cun.close();}voidsaverenshu()//保存在职总人数,以便读取数据{fstreamcun;cun.open(个数.txt,ios::trunc|ios::in);if(!cun){coutcannotopenfileendl;}cunkendl;cun.close();}intreadrenshu()//读取在职总人数{fstreamcun;cun.open(个数.txt,ios::in|ios::out);if(!cun){coutcannotopenfileendl;}cunk;returnk;}voidread(intx)//读取在职人员信息,参数x为总人数{if(x==0){cout还没有任何人员的信息,请先添加人员的信息!endl;}structpersona[30];fstreamcun;inti=0;cun.open(保存人员.txt,ios::in|ios::out);if(!cun)7{coutcannotopenfileendl;}while(ix){cuna[i].gonghao;cuna[i].zhiwei;cuna[i].xingming;if(strcmp(a[i].zhiwei,技术员)==0){cuna[i].xiaoshi;}cuna[i].shouru;if(strcmp(a[i].zhiwei,技术员)==0){cout工号:a[i].gonghao姓名:a[i].xingming职位:a[i].zhiwei工作小时a[i].xiaoshi工资:a[i].shouruendl;}else{cout工号:a[i].gonghao姓名:a[i].xingming职位:a[i].zhiwei工资:a[i].shouruendl;}i++;}cun.close();}voiddeletgon(intx)//按工号删除函数,参数x为总人数{if(x==0){cout没有任何员工的信息,请先增加员工的信息endl;}structpersona1[30];structpersona2[30];fstreamcun;inti=0;cun.open(保存人员.txt,ios::in|ios::out);if(!cun){coutcannotopenfileendl;}while(ix)8{cuna1[i].gonghao;cuna1[i].zhiwei;cuna1[i].xingming;if(strcmp(a1[i].zhiwei,技术员)==0){cuna1[i].xiaoshi;}cuna1[i].shouru;if(strcmp(a1[i].zhiwei,技术员)==0){cout工号:a1[i].gonghao姓名:a1[i].xingming职位:a1[i].zhiwei工作小时a1[i].xiaoshi工资:a1[i].shouruendl;}else{cout工号:a1[i].gonghao姓名:a1[i].xingming职位:a1[i].zhiwei工资:a1[i].shouruendl;}i++;}cun.close();////////////////////cout请输入要删除人员的工号:endl;intg;cing;i=0;while(g!=a1[i].gonghao){i++;}if(g!=a1[i].gonghao){cout没找到!endl;}else{g=i;for(i=0;i!=g;i++){a2[i].gonghao=a1[i].gonghao;strcpy(a2[i].zhiwei,a1[i].zhiwei);strcpy(a2[i].xingming,a1[i].xingming);9if(strcmp(a1[i].zhiwei,技术员)==0){a2[i].xiaoshi=a1[i].xiaoshi;}a2[i].shouru=a1[i].shouru;}for(i;ix;i++){a2[i].gonghao=a1[i+1].gonghao;strcpy(a2[i].zhiwei,a1[i+1].zhiwei);strcpy(a2[i].xingming,a1[i+1].xingming);if(strcmp(a1[i+1].zhiwei,技术员)==0){a2[i].xiaoshi=a1[i+1].xiaoshi;}a2[i].shouru=a1[i+1].shouru;}for(intl=0;l(x-1);l++){if(strcmp(a2[l].zhiwei,技术员)==0){cout工号:a2[l].gonghao姓名:a2[l].xingming职位:a2[l].zhiwei工作小时a2[l].xiaoshi工资:a2[l].shouruendl;}else{cout工号:a2[l].gonghao姓名:a2[l].xingming职位:a2[l].zhiwei工资:a2[l].shouruendl;}}fstreamcun1;i=0;cun1.open(保存人员.txt,ios::trunc);if(!cun1){coutcannotopenfileendl;}while(i(x-1)){cun1a2[i].gonghaoendl;cun1a2[i].zhiweiendl;cun1a2[i].xingmingendl;10if(strcmp(a2[i].zhiwei,技术员)==
本文标题:小型公司的工资管理系统实训报告
链接地址:https://www.777doc.com/doc-570513 .html