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

上传人:Sc****h 文档编号:131092711 上传时间:2022-08-05 格式:DOC 页数:29 大小:692KB
收藏 版权申诉 举报 下载
小型公司的工资管理系统实训报告_第1页
第1页 / 共29页
小型公司的工资管理系统实训报告_第2页
第2页 / 共29页
小型公司的工资管理系统实训报告_第3页
第3页 / 共29页
资源描述:

《小型公司的工资管理系统实训报告》由会员分享,可在线阅读,更多相关《小型公司的工资管理系统实训报告(29页珍藏版)》请在装配图网上搜索。

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

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

3、aldouble pay()=0;employee(double n,char mingzi20,double s)number=n;strcpy(name,mingzi);income=s;employee();protected:double number;char name20;char post20;double income;class Technician: public employeeprotected:double hour;double per;public:double Set_hour();double pay();class Saleman:virtual publi

4、c employeeprotected:double salary;/销售额public:void sale();double pay();class Manager:virtual public employeeprotected:public:double pay();class Salesmanager:virtual public Manager,virtual public Saleman public:double pay();struct personint gonghao;char xingming20;char zhiwei20;float shouru;float xiao

5、shi;void saverenshu();int readrenshu();void deletgon(int x);void deletname(int x);void read(int x);void xiugai_all(int x);void savetech(int x,char *y,char *z,float e,float ho);void save(int x,char *y,char *z,float e);(2)” change.cpp ”#includeemployee.hint k;void save(int x,char *y,char *z,float e)/

6、保存文件struct person a;a.gonghao=x;strcpy(a.xingming,y);strcpy(a.zhiwei,z);a.shouru=e;cout 工 号 : a.gonghao 姓 名 : a.xingming 职 位 :a.zhiwei 工资: a.shouru endl;fstream cun;cun.open( 保存人员 .txt,ios:app|ios:out);if(!cun)cout cannot open fileendl;cuna.gonghaoendl;cuna.zhiweiendl;cuna.xingmingendl;cuna.shouruen

7、dl;cun.close();void savetech(int x,char *y,char *z,float e,float ho)/ 专用于技术员的保存struct person a;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.shouru endl;fstream cun;cun.open( 保存人员 .txt,ios:app|ios:

8、out);if(!cun)cout cannot open fileendl;cuna.gonghaoendl;cuna.zhiweiendl;cuna.xingmingendl;cuna.xiaoshiendl;cuna.shouruendl;cun.close();void saverenshu()/ 保存在职总人数,以便读取数据fstream cun;cun.open( 个数 .txt,ios:trunc|ios:in);if(!cun)cout cannot open fileendl;cunkendl;cun.close();int readrenshu()/ 读取在职总人数fstr

9、eam cun;cun.open( 个数 .txt,ios:in|ios:out);if(!cun)cout cannot open filek;return k;void read(int x)/ 读取在职人员信息,参数x 为总人数if(x=0)cout 还没有任何人员的信息,请先添加人员的信息!endl;struct person a30;fstream cun;int i=0;cun.open( 保存人员 .txt,ios:in|ios:out);if(!cun)cout cannot open fileendl;while(iai.gonghao;cunai.zhiwei;cunai.

10、xingming;if(strcmp(ai.zhiwei,技术员 )=0)cunai.xiaoshi;cunai.shouru;if(strcmp(ai.zhiwei,技术员 )=0)cout 工号: ai.gonghao 姓名: ai.xingming职 位 :ai.zhiwei工作小时ai.xiaoshi工 资 :ai.shouru endl;elsecout工号: ai.gonghao姓名: ai.xingming职位: ai.zhiwei 工资: ai.shouru endl;i+;cun.close();void deletgon(int x)/ 按工号删除函数,参数x 为总人数if

11、(x=0)cout 没有任何员工的信息,请先增加员工的信息endl;struct person a130;struct person a230;fstream cun;int i=0;cun.open( 保存人员 .txt,ios:in|ios:out);if(!cun)cout cannot open fileendl;while(ia1i.gonghao;cuna1i.zhiwei;cuna1i.xingming;if(strcmp(a1i.zhiwei,技术员 )=0)cuna1i.xiaoshi;cuna1i.shouru;if(strcmp(a1i.zhiwei,技术员 )=0)co

12、ut 工号: a1i.gonghao 姓名: a1i.xingming职 位 : a1i.zhiwei工 作 小 时a1i.xiaoshi 工 资 :a1i.shouru endl;elsecout 工号: a1i.gonghao 姓名: a1i.xingming职位: a1i.zhiwei 工资: a1i.shouru endl;i+;cun.close();/cout 请输入要删除人员的工号:g;i=0;while(g!=a1i.gonghao)i+;if(g!=a1i.gonghao)cout 没找到! endl;elseg=i;for(i=0;i!=g;i+)a2i.gonghao=a

13、1i.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(strcmp(a1i+1.zhiwei,技术员 )=0)a2i.xiaoshi=a

14、1i+1.xiaoshi;a2i.shouru=a1i+1.shouru;for(int l=0;l(x-1);l+)if(strcmp(a2l.zhiwei,技术员 )=0)cout工号:a2l.gonghao姓名:a2l.xingming职 位 :a2l.zhiwei工作小时a2l.xiaoshi工 资 :a2l.shouru endl;elsecout 工号:a2l.gonghao 姓名:a2l.xingming 职位: a2l.zhiwei 工资: a2l.shouru endl;fstream cun1;i=0;cun1.open( 保存人员 .txt,ios:trunc);if(!

15、cun1)cout cannot open fileendl;while(i(x-1)cun1a2i.gonghaoendl;cun1a2i.zhiweiendl;cun1a2i.xingmingendl;if(strcmp(a2i.zhiwei,技术员 )=0)cun1a2i.xiaoshiendl;cun1a2i.shouruendl;i+;cun1.close();fstream cun2;cun2.open( 个数 .txt,ios:trunc|ios:in);if(!cun2)cout cannot open fileendl;cun2(x-1)endl;cout 成功删除一个员工的

16、数据endl;cun2.close();void deletname(int x)/ 按姓名删除函数,参数x 为总人数if(x=0)cout 没有任何员工的信息,请先增加员工的信息endl;struct person a130;struct person a230;fstream cun;int i=0;cun.open( 保存人员 .txt,ios:in|ios:out);if(!cun)cout cannot open fileendl;while(ia1i.gonghao;cuna1i.zhiwei;cuna1i.xingming;if(strcmp(a1i.zhiwei,技术员 )=0

17、)cuna1i.xiaoshi;cuna1i.shouru;if(strcmp(a1i.zhiwei,技术员 )=0)cout 工号: a1i.gonghao 姓名: a1i.xingming职 位 : a1i.zhiwei工 作 小 时a1i.xiaoshi 工 资 :a1i.shouru endl;elsecout 工号: a1i.gonghao 姓名: a1i.xingming职位: a1i.zhiwei 工资: a1i.shouru endl;i+;cun.close();/cout 请输入要删除人员的姓名:xing;int g;i=0;while(strcmp(xing,a1i.xi

18、ngming)i+;g=i;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);i

19、f(strcmp(a1i+1.zhiwei,技术员 )=0)a2i.xiaoshi=a1i+1.xiaoshi;a2i.shouru=a1i+1.shouru;for(int l=0;l(x-1);l+)if(strcmp(a2l.zhiwei,技术员 )=0)cout 工号: a2l.gonghao 姓名: a2l.xingming 职 位 : a2l.zhiwei工 作 小 时a2l.xiaoshi 工 资 :a2l.shouru endl;elsecout 工号: a2l.gonghao 姓名: a2l.xingming职位: a2l.zhiwei 工资: a2l.shouru endl

20、;fstream cun1;i=0;cun1.open( 保存人员 .txt,ios:trunc);if(!cun1)cout cannot open fileendl;while(i(x-1)cun1a2i.gonghaoendl;cun1a2i.zhiweiendl;cun1a2i.xingmingendl;if(strcmp(a2i.zhiwei,技术员 )=0)cun1a2i.xiaoshiendl;cun1a2i.shouruendl;i+;cun1.close();fstream cun2;cun2.open( 个数 .txt,ios:trunc|ios:in);if(!cun2)

21、cout cannot open fileendl;cun2(x-1)endl;cout 成功删除一个员工的数据endl;cun2.close();void xiugai_all(int x)/ 修改一条记录的内容,参数x 为总人数struct person a130;struct person a230;fstream cun;int i=0;cun.open( 保存人员 .txt,ios:in|ios:out);if(!cun)cout cannot open fileendl;while(ia1i.gonghao;cuna1i.zhiwei;cuna1i.xingming;if(strc

22、mp(a1i.zhiwei,技术员 )=0)cuna1i.xiaoshi;cuna1i.shouru;if(strcmp(a1i.zhiwei,技术员 )=0)cout 工号: a1i.gonghao 姓名: a1i.xingming 职 位 : a1i.zhiwei工 作 小 时a1i.xiaoshi 工 资 :a1i.shouru endl;elsecout工号:a1i.gonghao 姓名:a1i.xingming职位: a1i.zhiwei 工资: a1i.shouru endl;i+;int g,gonghao1;char xingming120,zhiwei120;float sh

23、ouru1,xiaoshi1;cout 请输入要修改员工的工号:g;i=0;while(g!=a1i.gonghao)i+;g=i;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;cout 请重新输入工号: gonghao1;a2i.gonghao=gonghao1;cout 请重新输入姓

24、名: xingming1;strcpy(a2i.xingming,xingming1);cout 请重新输入职位: zhiwei1;strcpy(a2i.zhiwei,zhiwei1);if(strcmp(zhiwei1,技术员 )=0)cout 请重新输入工作小时数:xiaoshi1;a2i.xiaoshi=xiaoshi1;cout 请重新输入月收入: shouru1;a2i.shouru=shouru1;if(strcmp(a2i.zhiwei,技术员 )=0)cout 工号: a2i.gonghaoa2i.zhiwei工作小时:姓名: a2i.xingminga2i.xiaoshi 职

25、位:工资:a2i.shouru endl;elsecout 工号: a2i.gonghao 姓名: a2i.xingming职位: a2i.zhiwei 工资: a2i.shouru endl;i=i+1;for(i;ix;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;fstream cun1;i=0;cun1.

26、open( 保存人员 .txt,ios:trunc);if(!cun1)cout cannot open fileendl;while(ix)cun1a2i.gonghaoendl;cun1a2i.xingmingendl;cun1a2i.zhiweiendl;if(strcmp(a2i.zhiwei,技术员 )=0)cun1a2i.xiaoshiendl;cun1a2i.shouruendl;i+;cun.close();(3)“employee.cpp ”#includeemployee.h#include#include#include#include#include#includedo

27、uble employee:gerno()cout 请输入工号 number;return number;char *employee:getname()cout 请输入姓名 name;return name;char *employee:gerpost()cout 请输入职位 post;return post;/double Technician:pay()income=30*100*hour;return income;double Technician:Set_hour()couthour;return hour;/void Saleman:sale()/ 当月销售额cout 请输入当月

28、销售额 salary;double Saleman:pay()income=salary*0.04;return income;/double Manager:pay()income=8000;return income;/double Salesmanager:pay()income=5000+salary*0.05;return income;(3) ” employee .cpp ”#includeemployee.h#include#include#include#include#include#includedouble employee:gerno()cout 请输入工号 numb

29、er;return number;char *employee:getname()cout 请输入姓名 name;return name;char *employee:gerpost()cout 请输入职位 post;return post;/double Technician:pay()income=30*100*hour;return income;double Technician:Set_hour()couthour;return hour;/void Saleman:sale()/ 当月销售额cout 请输入当月销售额 salary;double Saleman:pay()incom

30、e=salary*0.04;return income;/double Manager:pay()income=8000;return income;/double Salesmanager:pay()income=5000+salary*0.05;return income;(4) ” gzgl.cpp ”#includeemployee.h#include#include#include#include#include#include #include int IntputMenu();void readmenu();int deletmenu();int xiugaimenu();int

31、 Showmenu();int ai;extern int k;void main()Showmenu();int Showmenu()int nu;nu=readrenshu();while(1)coutendl;cout小型公司工资管理系统endl;cout endl;cout 请选择您所需要的操作:endl;cout 数据录入 :1, 并按回车键 endl;cout 删除数据 :2,并按回车键 endl;cout 修改数据 :3,并按回车键 endl;cout 读入数据 :4, 并按回车键 endl;cout 退出系统 :5, 并按回车键 endl;cout endl;coutendle

32、ndlendl;coutai;switch(ai)case 1:IntputMenu();break;case 2:deletmenu();break;case 3:xiugaimenu();break;case 4:readmenu();break;case 5:return 0;break;default:cout 你的选择出错了! 请重新输入吧! endl; int deletmenu()while(1)int r;r=readrenshu();coutendl;cout小型公司工资管理系统 endl;cout endl;cout 请选择您所需要的操作:endl;cout 按工号删除 :

33、1, 并按回车键 endl;cout 按姓名删除 :2,并按回车键 endl;cout 返回上一层 :3, 并按回车键 endl;cout endl;coutendlendlendl;coutai;switch(ai)case 1:deletgon(r);break;case 2:deletname(r);break;case 3:return 0;break;default:cout 你的选择出错了! 请重新输入吧! endl; void readmenu()int r;r=readrenshu();read(r);int xiugaimenu()while(1)int r;r=readre

34、nshu();coutendl;cout小型公司工资管理系统 endl;cout endl;cout 请选择您所需要的操作:endl;cout 修改工号 :1,并按回车键 endl;cout 修改姓名 :2,并按回车键 endl;cout 修改职位 :3,并按回车键 endl;cout 修改全部 :4,并按回车键 endl;cout 返回上一层 :5, 并按回车键 endl;cout endl; coutendlendlendl;coutai;switch(ai)/case 1:deletgon(r);break;/case 2:deletname(r);break;case 4:xiugai

35、_all(r);break;case 5:return 0;break;default:cout 你的选择出错了! 请重新输入吧! endl; int IntputMenu()cout小型公司工资管理系统 endl;coutendl;cout请选择您所需要的操作 endl;cout 经理数据输入: 1,并按回车键 endl;cout 技术员数据输入: 2,并按回车键 endl;cout 销售员数据输入: 3,并按回车键 endl;cout 销售经理数据输入 : 4,并按回车键 endl;cout 返回上一层: 5,并按回车键 endl;coutendl;coutai;switch(ai) ca

36、se 1:Manager jingli;double a;char *b,*c;double d;a=jingli.gerno();b=jingli.gerpost();c=jingli.getname();d=jingli.pay();save(a,c,b,d);cout 已经成功保存啦! endl;k+;saverenshu();break;case 2: Technician jishu;double a;char *b,*c;double d,f;a=jishu.gerno();b=jishu.gerpost();c=jishu.getname();f=jishu.Set_hour()

37、;d=jishu.pay();savetech(a,c,b,d,f);cout 已经成功保存啦! endl;k+;saverenshu();break;case 3:Saleman xiaoshou;int a;char *b,*c;float d,f;a=xiaoshou.gerno();b=xiaoshou.gerpost();c=xiaoshou.getname();xiaoshou.sale();d=xiaoshou.pay();save(a,c,b,d);cout 已经成功保存啦! endl;k+;saverenshu();break;case 4:Salesmanager xiaoshoujingli;int a;char *b,*c;float d;a=xiaoshoujingli.gerno();b=xiaoshoujingli.gerpost();c=xiaoshoujingli.getname();xiaoshoujingli.sale();d=xiaoshoujingli.pay();save(a,c,b,d);cout 已经成功保存啦! endl;k+;saverenshu();break;case 5: return 0; break;default:cout你的选择出错了! 请重新输入吧! endl;三、执行结果和结果分析实验截图:1、添加数据:

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!