面向对象实训报告----题目:小型公司的工资管理系统指导老师:xxx学生姓名:xxx班级:计Yxxx学号:xxxxxxxxxxx时间:xxxx年x月x日第1页共29页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共29页目录一、实训内容与目的-------------------------------------------2二、设计分析----------------------------------------------------3三、执行结果和结果分析-------------------------------------23四、实训总结---------------------------------------------------27第2页共29页第1页共29页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共29页一、实训内容:小型公司的工资管理设计任务编写一个小型公司的工资管理程序。该公司主要有4类人员:经理、兼职技术人员、销售员和销售经理。其中月薪计算方法为:经理固定月薪8000元,兼职技术如愿100元/小时,销售员为当月销售额的4%,销售经理保底工资5000元另加所管部门销售额的5‰。设计要求(1)职工编号自动产生(从1000起编号)。(2)将公司人员的编号、姓名和月薪等信息保存在文件中,然后从文件中读入这些信息并显示。如果访问文件失败,采用异常处理机制解决。(3)设计输入,输出的界面。(成绩为优良,需采用MFC方式。若设计困难可以使用DOS方式)第3页共29页第2页共29页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共29页二、设计分析:(1)类的定义:1、“employee.h”#include
#include#include#include#include#includeclassemployee{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第4页共29页第3页共29页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第4页共29页{protected:doublehour;doubleper;public:doubleSet_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;第5页共29页第4页共29页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第5页共29页};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)”change.cpp”#include"employee.h"intk;voidsave(intx,char*y,char*z,floate)//保存文件{structpersona;a.gonghao=x;strcpy(a.xingming,y);strcpy(a.zhiwei,z);a.shouru=e;cout<<"工号:"<