小型公司工资管理系统__(完结)_第1页
小型公司工资管理系统__(完结)_第2页
小型公司工资管理系统__(完结)_第3页
小型公司工资管理系统__(完结)_第4页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.中国石油大学 (华东)信息与控制工程学院程序设计实习 报告小型公司工资管理系统的设计姓名:Yuppies Liu时间:.专业 .专注.2011年7月.专业 .专注.目录123101617.专业 .专注.一、实习内容1 题目:小型公司管理系统的设计设计2.设计说明与基本要求(1) 公司主要有 4 类人员 :经理、技术员、销售员、销售经理 。 要求存储这些人的职工号 、姓名、月工资、年龄、性别等信息 。(2) 工资的计算方法A 经理:固定月薪为 8000 元;B 技术员:工作时间 *小时工资 (100 元 / 小时);C 销售员:销售额 *4% 提成;D 销售经理 :底薪(5000 元)+ 所辖

2、部门销售额总额 *0.5%。(3) 员工基本数据的输入要求每类人员不能少于4 人,其中销售员需要8 名,每名销售经理手下有 名销售员 。(4) 各类的数据成员访问权限设置为 :protected 3.实现基本功能(1) 数据输入 :输入各种数据(2) 数据的输入 :统计各销售经理下属销售员的销售额及销售额之和 ;销售经理按工资进行的帽泡排序 ;(3) 数据打印 :打印各类员工的数据信息 ;(4) 数据备份(5) 退出:退出本系统备注:可适当扩充程序功能 ,功能扩充得当可加分.专业 .专注.4菜单说明(1)数据录入指通过键盘输入各类员工的各项数据(2)数据统计指统计各销售经理下属销售员的销售额及

3、销售额之和;销售经理按工资进行的冒泡排序(3) 数据的打印指按照表格的格式在屏幕上输出各员工的数据信息(4) 数据的备份指把各类员工的数据信息写入文件中保存(5)退出:结束程序的运行.专业 .专注.二、设计思路在这个公司中有四类人员:经理、兼职技术人员 、销售员要存储的信息有姓名、编号、性别、年龄、工资、销售额 、所属经理编号 由于所有职员有相同的成员如编号 (num) 、姓名 (name) 、性别 (sex)、年龄 (age) 、工资 (wage) 。所以可将所有信息归纳为一个职员类(Guyuan), 将其作为一个基类,然后派生出子类,实现各类人员不同的信息(如工资计算 ),由于销售经理具有

4、销售员和经理的特性,所以销售经理采用多重继承的关系,继承销售员和经理的两个类,为避免二义性将employee定义为虚基类 ,可用下图表示 :题目中假设公司有2 名技术员 、4 名销售员 、经理和销售经理各 2 名,所以用对象数组的方式 ,利用循环语句来实现人员的输入和输出,整个程序设计如下:基类雇员类 :数据成员有职工号 、姓名、年龄、性别、月工资;成员函数只有姓名 、年龄、性别的设置函数 。技术员类 :继承基类数据成员增加了工作时间;成员函数有设置函数 、构造函数 、输出函数下属函数 、备份函数下属函数 。经理类:继承基类数据成员未增加 ;成员函数有设置函数 、构造函数 、输出函数下属函数

5、、备份函数下属函数 。销售员类 :继承基类.专业 .专注.数据成员多了销售额 、所属经理编号 ;成员函数有设置函数、构造函数 、输出函数下属函数、备份函数下属函数、销售额返回函数 、所属经理编号输出函数 。销售经理类 :继承基类数据成员未增加 ;成员函数有设置函数、构造函数 、输出函数下属函数、备份函数下属函数、统计函数所属函数 。.专业 .专注.三、程序代码清单#include<iostream>#include<string>#include<iomanip>#include<fstream>using namespace std;ofstr

6、eam outfile("f1.txt",ios:out);class Guyuanpublic:int num,age;string name;char sex;int wage;class Jishuyuan: protected Guyuanpublic:int time;void set_jishuyuan()cout<<" 技术员编号 :" cin>>num; cout<<endl;cout<<" 其姓名 :" cin>>name;cout<<endl;

7、cout<<" 性别 (m/w):" cin>>sex;cout<<endl;cout<<" 年龄 :" cin>>age;cout<<endl;.专业 .专注.cout<<" 工作时间 :" cin>>time;cout<<endl;wage=time*100;void show_jishuyuan()cout<<""<<setw(12)<<num<<&quo

8、t; "<<setw(12)<<name<<""<<setw(12)<<sex<<" "<<setw(12)<<age<<" "<<setw(12)<<wage<<" "<<endl;void show_jishuyuan4()outfile<<" "<<setw(12)<<num<<

9、" "<<setw(12)<<name<<""<<setw(12)<<sex<<" "<<setw(12)<<age<<" "<<setw(12)<<wage<<" "<<endl;class Jingli:protected Guyuanpublic:void set_jingli()cout<<" 经理的编号 :&q

10、uot; cin>>num;cout<<endl;cout<<" 其姓名 :" cin>>name;cout<<endl;cout<<" 其性别 (m/w):" cin>>sex;cout<<endl;cout<<" 年龄 :" cin>>age; cout<<endl;wage=8000;void show_jingli()cout<<""<<setw(12)

11、<<num<<" "<<setw(12)<<name<<""<<setw(12)<<sex<<" "<<setw(12)<<age<<" "<<setw(12)<<wage<<".专业 .专注. "<<endl;void show_jingli4()outfile<<" "<<

12、;setw(12)<<num<<" "<<setw(12)<<name<<""<<setw(12)<<sex<<" "<<setw(12)<<age<<" "<<setw(12)<<wage<<" "<<endl;class Xiaoshouyuan:protected Guyuanpublic:void set_xi

13、aoshouyuan()cout<<" 销售员的编号 :" cin>>num;cout<<endl;cout<<" 其姓名 :" cin>>name;cout<<endl;cout<<" 性别 (m/w):" cin>>sex;cout<<endl;cout<<" 年龄 :" cin>>age;cout<<endl;cout<<" 销售额 :"

14、; cin>>sell;cout<<endl;cout<<" 所属销售经理的编号 :"cin>>belong;cout<<endl;wage=sell*4/100;void show_xiaoshouyuan()cout<<" "<<setw(14)<<num<<" "<<setw(14)<<name<<""<<setw(14)<<sell<&

15、lt;""<<endl;void show_xiaoshouyuan2()cout<<""<<setw(8)<<num<<""<<setw(8)<<name<<""<<setw(8)<<sex<<" "<<setw(8)<<age<<" "<<setw(8)<<wage<<&

16、quot;.专业 .专注."<<setw(18)<<belong<<""<<endl;void show_xiaoshouyuan4()outfile<<" "<<setw(8)<<num<<" "<<setw(8)<<name<<""<<setw(8)<<sex<<" "<<setw(8)<<a

17、ge<<" "<<setw(8)<<wage<<""<<setw(18)<<belong<<""<<endl;int sell,belong;class Xiaoshoujingli:protected Guyuanpublic:int shu_jingli()return num;void set_xiaoshoujingli() cout<<" 销售经理的编号 :"cin>>num;cout&

18、lt;<endl; cout<<" 其姓名 :"cin>>name;cout<<endl; cout<<" 性别 (m/w):"cin>>sex;cout<<endl; cout<<" 年龄 :"cin>>age; cout<<endl;void show_num()cout<<num;void show_name()cout<<name;void show_xiaoshoujingli()cout

19、<<" "<<setw(12)<<num<<" "<<setw(12)<<name<<""<<setw(12)<<sex<<" "<<setw(12)<<age<<" "<<setw(12)<<wage<<".专业 .专注. "<<endl;void show_xiaosho

20、ujingli4()outfile<<" "<<setw(12)<<num<<" "<<setw(12)<<name<<""<<setw(12)<<sex<<" "<<setw(12)<<age<<" "<<setw(12)<<wage<<" "<<endl;void sho

21、w_wage()cout<<wage;void wage_sum(int sum)wage=5000+sum*0.5/100;void disp() cout<<" 小型公司工资管理系统 "<<endl;cout<<""<<endl;cout<<" 请选择您所需要的操作"<<endl;cout<<" 数据输入 : 1,并按回车键 "<<endl;cout<<" 数据统计 : 2,并按回车

22、键 "<<endl;cout<<" 数据打印 : 3,并按回车键 "<<endl;cout<<" 数据备份 : 4,并按回车键 "<<endl;cout<<" 退出系统 : 5,并按回车键 "<<endl;cout<<""<<endl;cout<<endl;cout<<" 请选择一个操作 :".专业 .专注.int main()const int n=2;

23、 int i,w;Jishuyuan an;Jingli bn;Xiaoshouyuan c2*n;Xiaoshoujingli dn;disp();while (1)cin>>w;switch(w)case 1: for(i=0;i<n;i+)ai.set_jishuyuan();cout<<"*"<<endl;for(i=0;i<n;i+)bi.set_jingli();cout<<"*"<<endl;for(i=0;i<(2*n);i+)ci.set_xiaoshouyu

24、an();cout<<"*"<<endl;.专业 .专注.for(i=0;i<n;i+)di.set_xiaoshoujingli();cout<<"*"<<endl;disp();break;case 2: int sumn;int i,j;for(j=0;j<n;j+)sumj=0;cout<<"职 工号 为"dj.show_num();cout<<"销售 经理"dj.show_name();cout<<"

25、下属销售员的业绩为 : "<<endl;cout<<" "<<endl;cout<<" 职工号姓名销售额"<<endl;for(i=0;i<2*n;i+)if(ci.belong=dj.shu_jingli()cout<<" "<<endl;ci.show_xiaoshouyuan();sumj=sumj+ci.sell;cout<<" "<<endl;cout<<" &

26、quot;<<" 销售额总计 "<<setw(28)<<sumj<<".专业 .专注."<<endl;cout<<" "<<endl;cout<<" 销售经理按工资排序为 :"<<endl;cout<<" "<<endl;cout<<" 职工号姓名性别年龄工资"<<endl;Xiaoshoujingli x;double

27、y;for(i=0;i<n;i+)for(j=0;j<n;j+)if(sumi<sumi+1)x=di;di=dj;dj=x;y=sumi;sumi=sumj;sumj=y;for(i=0;i<n;i+) cout<<" "<<endl;di.wage_sum(sumi);di.show_xiaoshoujingli();cout<<" "<<endl;disp(); ;break;case 3: int i;.专业 .专注.cout<<" 请等待 ."

28、;<<endl;cout<<" 职工基本情况一览表如下"<<endl;cout<<" 技术员 "<<endl;cout<<" "<<endl;cout<<" 职工号姓名性别年龄工资"<<endl;for(i=0;i<n;i+) cout<<" "<<endl;ai.show_jishuyuan();cout<<" "<&l

29、t;endl;cout<<"*"<<endl;cout<<" 经理 "<<endl;cout<<" "<<endl;cout<<" 职工号姓名性别年龄工资"<<endl;for(i=0;i<n;i+) cout<<" "<<endl;.专业 .专注.bi.show_jingli();cout<<" "<<endl;cout<

30、;<"*"<<endl;cout<<" 销售经理 "<<endl;cout<<" "<<endl;cout<<" 职工号姓名性别年龄工资"<<endl;for(i=0;i<n;i+) cout<<" "<<endl;di.show_xiaoshoujingli();cout<<" "<<endl;cout<<"*

31、"<<endl;cout<<" 销售员 "<<endl;cout<<" "<<endl;cout<<" 职工号 姓名性别年龄工资 所属部门经理编号 "<<endl;for(i=0;i<n*2;i+).专业 .专注. cout<<" "<<endl;ci.show_xiaoshouyuan2();cout<<" "<<endl;cout<<

32、"*"<<endl;disp(); ;break;case 4: int i;outfile<<"职工基本情况一览表如下"<<endl;outfile<<"技术员 "<<endl;outfile<<" "<<endl;outfile<<"职工号姓名性别年龄工资"<<endl;for(i=0;i<n;i+) outfile<<" "<<end

33、l;ai.show_jishuyuan4();outfile<<" "<<endl;.专业 .专注.outfile<<"*"<<endl;outfile<<"经理 "<<endl;outfile<<" "<<endl;outfile<<"职工号姓名性别年龄工资"<<endl;for(i=0;i<n;i+) outfile<<" "<&

34、lt;endl;bi.show_jingli4();outfile<<" "<<endl;outfile<<"*"<<endl;outfile<<"销售经理 "<<endl;outfile<<" "<<endl;outfile<<"职工号姓名性别年龄工资"<<endl;for(i=0;i<n;i+) outfile<<" "<<

35、endl;di.show_xiaoshoujingli4();.专业 .专注.outfile<<""<<endl;outfile<<"*"<<endl;outfile<<"销售员 "<<endl;outfile<<" "<<endl;outfile<<" 职工号 姓名性别年龄工资 所属部门经理编号 "<<endl;for(i=0;i<n*2;i+) outfile<

36、<" "<<endl;ci.show_xiaoshouyuan4();outfile<<""<<endl;outfile<<"*"<<endl;outfile.close();disp();break;case 5: exit(0); ;.专业 .专注.break;default:cout<<"选择错误 ,请重新选择 !"<<endl;disp();break;return 0;.专业 .专注.四、运行结果 小型公司工资管理系

37、统 请选择您所需要的操作 数据输入 : 1, 并按回车键 数据统计 : 2, 并按回车键 数据打印 : 3, 并按回车键 数据备份 : 4, 并按回车键 退出系统 : 5, 并按回车键请选择一个操作:1技术员编号 :101其姓名 :zhang1性别 (m/w):w年龄 :27工作时间 :56.专业 .专注.技术员编号 :102其姓名 :wang1性别 (m/w):m年龄 :27工作时间 :58*经理的编号 :201其姓名 :wang2其性别 (m/w):w年龄 :34经理的编号 :202其姓名 :36.专业 .专注.其性别 (m/w):m年龄 :36*销售员的编号 :301其姓名 :zhang3性别 (m/w):m年龄 :28销售额 :50000所属销售经理的编号:401销售员的编号 :302其姓名 :wang3.专业 .专注.性别 (m/w):w年龄 :32销售额 :54000所属销售经理的编号:401销售员的编号 :303其姓名 :wan1性别 (m/w):w年龄 :35销售额 :60000所属销售经理的编号:402销售员的编号 :304.专业 .专注.其姓名 :wan2性别 (m/w):m年龄 :26销售额 :80000所属销售经理的编号:402*销售经理的编号:401其姓名 :sun性别 (m/w):w年龄 :36销售经理的编号:402其姓名 :liu.专

温馨提示

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

评论

0/150

提交评论