版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中国石油大学(华东)信息与控制工程学院程序设计实习报告小型公司工资管理系统的设计姓名:Yuppies Liu 时 间:2011.7.142011.7.172011年7月目录一、 实习内容1二、 设计思路2三、 程序代码清单3四、 运行结果10五、 程序使用说明16六、 总结及心得体会17程序设计实习报告一、实习内容1 题目:小型公司管理系统的设计设计2.设计说明与基本要求(1) 公司主要有4类人员:经理、技术员、销售员、销售经理。 要求存储这些人的职工号、姓名、月工资、年龄、性别等信息。(2) 工资的计算方法 A 经理:固定月薪为8000元; B技术员:工作时间*小时工资(100元/小时);C
2、销售员:销售额*4%提成; D销售经理:底薪(5000元)+所辖部门销售额总额*0.5%。(3) 员工基本数据的输入 要求每类人员不能少于4人,其中销售员需要8名,每名销 售经理手下有名销售员。(4) 各类的数据成员访问权限设置为:protected3.实现基本功能 (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;ofstream outfile("f1.txt",ios:out);class Guyuan
6、public: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; cout<<"性别(m/w):" cin>>sex; cou
7、t<<endl; cout<<"年龄:" cin>>age; cout<<endl; cout<<"工作时间:" cin>>time; cout<<endl; wage=time*100; void show_jishuyuan() cout<<""<<setw(12)<<num<<""<<setw(12)<<name<<""&l
8、t;<setw(12)<<sex<<""<<setw(12)<<age<<""<<setw(12)<<wage<<""<<endl; void show_jishuyuan4() outfile<<""<<setw(12)<<num<<""<<setw(12)<<name<<""&
9、lt;<setw(12)<<sex<<""<<setw(12)<<age<<""<<setw(12)<<wage<<""<<endl;class Jingli:protected Guyuanpublic: void set_jingli() cout<<"经理的编号:" cin>>num; cout<<endl; cout<<"其姓名:&quo
10、t; cin>>name; cout<<endl; cout<<"其性别(m/w):" cin>>sex; cout<<endl; cout<<"年龄:" cin>>age; cout<<endl;wage=8000; void show_jingli() cout<<""<<setw(12)<<num<<""<<setw(12)<<name<
11、<""<<setw(12)<<sex<<""<<setw(12)<<age<<""<<setw(12)<<wage<<""<<endl; void show_jingli4() outfile<<""<<setw(12)<<num<<""<<setw(12)<<name<&l
12、t;""<<setw(12)<<sex<<""<<setw(12)<<age<<""<<setw(12)<<wage<<""<<endl; ; class Xiaoshouyuan:protected Guyuanpublic: void set_xiaoshouyuan() cout<<"销售员的编号:" cin>>num; cout<<e
13、ndl; cout<<"其姓名:" cin>>name; cout<<endl; cout<<"性别(m/w):" cin>>sex; cout<<endl; cout<<"年龄:" cin>>age; cout<<endl; cout<<"销售额:" cin>>sell; cout<<endl; cout<<"所属销售经理的编号:" cin
14、>>belong; cout<<endl; wage=sell*4/100; void show_xiaoshouyuan() cout<<""<<setw(14)<<num<<""<<setw(14)<<name<<""<<setw(14)<<sell<<""<<endl; void show_xiaoshouyuan2() cout<<"
15、;"<<setw(8)<<num<<""<<setw(8)<<name<<""<<setw(8)<<sex<<""<<setw(8)<<age<<""<<setw(8)<<wage<<""<<setw(18)<<belong<<""<<end
16、l; void show_xiaoshouyuan4() outfile<<""<<setw(8)<<num<<""<<setw(8)<<name<<""<<setw(8)<<sex<<""<<setw(8)<<age<<""<<setw(8)<<wage<<""<<setw
17、(18)<<belong<<""<<endl;int sell,belong;class Xiaoshoujingli:protected Guyuanpublic: int shu_jingli() return num; void set_xiaoshoujingli() cout<<"销售经理的编号:"cin>>num;cout<<endl; cout<<"其姓名:"cin>>name;cout<<endl; cout&l
18、t;<"性别(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<<""<<setw(12)<<num<<""<<setw(12)
19、<<name<<""<<setw(12)<<sex<<""<<setw(12)<<age<<""<<setw(12)<<wage<<""<<endl; void show_xiaoshoujingli4() outfile<<""<<setw(12)<<num<<""<<se
20、tw(12)<<name<<""<<setw(12)<<sex<<""<<setw(12)<<age<<""<<setw(12)<<wage<<""<<endl; void show_wage() cout<<wage; void wage_sum(int sum) wage=5000+sum*0.5/100; void disp() cout<<&
21、quot; 小型公司工资管理系统 "<<endl; cout<<" "<<endl; cout<<" 请选择您所需要的操作 "<<endl; cout<<" 数据输入: 1,并按回车键 "<<endl; cout<<" 数据统计: 2,并按回车键 "<<endl; cout<<" 数据打印: 3,并按回车键 "<<endl; cout<<&qu
22、ot; 数据备份: 4,并按回车键 "<<endl; cout<<" 退出系统: 5,并按回车键 "<<endl; cout<<" "<<endl; cout<<endl; cout<<"请选择一个操作: " int main() const int n=2; int i,w; Jishuyuan an; Jingli bn; Xiaoshouyuan c2*n; Xiaoshoujingli dn; disp();while (1)cin&
23、gt;>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_xiaoshouyuan();cout<<"*"<<endl;for(i=0;i<n;i+) di.set_xiaoshoujingli()
24、;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<<"下属销售员的业绩为:"<<endl; cout<<""<<endl; cout<<" 职工号
25、 姓名 销售额 "<<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<<""<<"销售额总计 "<<setw(28)<<sumj<<" "<&l
26、t;endl; cout<<""<<endl;cout<<"销售经理按工资排序为:"<<endl;cout<<""<<endl; cout<<" 职工号 姓名 性别 年龄 工资 "<<endl; Xiaoshoujingli x; double 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;
27、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<<"请等待."<<endl;cout<<"职工基本情况一览表如下"<<endl;cout<<"技术员"<<
28、endl;cout<<""<<endl; cout<<" 职工号 姓名 性别 年龄 工资 "<<endl; for(i=0;i<n;i+) cout<<""<<endl;ai.show_jishuyuan(); cout<<""<<endl;cout<<"*"<<endl;cout<<"经理"<<endl; cout<&l
29、t;""<<endl; cout<<" 职工号 姓名 性别 年龄 工资 "<<endl; for(i=0;i<n;i+) cout<<""<<endl;bi.show_jingli(); cout<<""<<endl; cout<<"*"<<endl; cout<<"销售经理"<<endl; cout<<""
30、<<endl; cout<<" 职工号 姓名 性别 年龄 工资 "<<endl; for(i=0;i<n;i+) cout<<""<<endl;di.show_xiaoshoujingli(); cout<<""<<endl;cout<<"*"<<endl;cout<<"销售员"<<endl; cout<<""<<e
31、ndl; cout<<" 职工号 姓名 性别 年龄 工资 所属部门经理编号 "<<endl; for(i=0;i<n*2;i+) cout<<""<<endl;ci.show_xiaoshouyuan2(); cout<<""<<endl;cout<<"*"<<endl; disp(); ;break;case 4: int i;outfile<<"职工基本情况一览表如下"<&
32、lt;endl;outfile<<"技术员"<<endl;outfile<<""<<endl; outfile<<" 职工号 姓名 性别 年龄 工资 "<<endl; for(i=0;i<n;i+) outfile<<""<<endl;ai.show_jishuyuan4(); outfile<<""<<endl;outfile<<"*"&
33、lt;<endl;outfile<<"经理"<<endl; outfile<<""<<endl;outfile<<" 职工号 姓名 性别 年龄 工资 "<<endl; for(i=0;i<n;i+) outfile<<""<<endl;bi.show_jingli4(); outfile<<""<<endl; outfile<<"*"
34、<<endl; outfile<<"销售经理"<<endl; outfile<<""<<endl; outfile<<" 职工号 姓名 性别 年龄 工资 "<<endl; for(i=0;i<n;i+) outfile<<""<<endl;di.show_xiaoshoujingli4(); outfile<<""<<endl; outfile<<
35、"*"<<endl; outfile<<"销售员"<<endl; outfile<<""<<endl; outfile<<" 职工号 姓名 性别 年龄 工资 所属部门经理编号 "<<endl; for(i=0;i<n*2;i+) outfile<<""<<endl;ci.show_xiaoshouyuan4(); outfile<<""<<
36、endl; outfile<<"*"<<endl; outfile.close(); disp();break;case 5: exit(0); ;break;default:cout<<" 选择错误,请重新选择!"<<endl; disp();break; return 0;四、运行结果小型公司工资管理系统 请选择您所需要的操作 数据输入: 1,并按回车键 数据统计: 2,并按回车键 数据打印: 3,并按回车键 数据备份: 4,并按回车键 退出系统: 5,并按回车键 请选择一个操作: 1技术员编号:101
37、其姓名: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
38、销售员的编号:304其姓名:wan2性别(m/w):m年龄:26销售额:80000所属销售经理的编号:402*销售经理的编号:401其姓名:sun性别(m/w):w年龄:36销售经理的编号:402其姓名:liu性别(m/w):w年龄:29* 小型公司工资管理系统 请选择您所需要的操作 数据输入: 1,并按回车键 数据统计: 2,并按回车键 数据打印: 3,并按回车键 数据备份: 4,并按回车键 退出系统: 5,并按回车键 请选择一个操作: 2职工号为401销售经理sun下属销售员的业绩为: 职工号 姓名 销售额 301 zhang3 50000 302 wang3 54000销售额总计 104
39、000 职工号为402销售经理liu下属销售员的业绩为: 职工号 姓名 销售额 303 wan1 60000 304 wan2 80000销售额总计 140000 销售经理按工资排序为: 职工号 姓名 性别 年龄 工资 402 liu w 29 5700 401 sun w 36 5520 小型公司工资管理系统 请选择您所需要的操作 数据输入: 1,并按回车键 数据统计: 2,并按回车键 数据打印: 3,并按回车键 数据备份: 4,并按回车键 退出系统: 5,并按回车键 请选择一个操作: 3请等待.职工基本情况一览表如下技术员 职工号 姓名 性别 年龄 工资 101 zhang1 w 27 5600 102 wang1 m 27 5800*经理 职工号 姓名 性别 年龄 工资 201 wang2 w 34 8000 202 36 m 36 8000*销售经理 职工号 姓名 性别 年龄 工资 402 liu w 29 5700 401 sun w 36 5520*销售员 职工号 姓名 性别 年龄 工资 所属部门经理编号 301 zhang3 m 28 2000 401 302 wang3 w 32 2160 40
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课题申报书:新质公安战斗力发展中的新质公安人才培养路径研究
- 2024年安徽省农业职业技能大赛(动物疫病防治员赛项)考试题库(含答案)
- 网络软件合同范例
- 设计优化合同范例
- 首饰定制代工合同范例
- 槐荫租房合同范例
- 购车中介合同范例
- 房屋拆墙安全合同范例
- 销售合作类合同范例
- 劳务派遣保安合同范例
- 中国平安体育营销品牌策略
- 2023-2024学年人教版新教材必修第二册 第五章第三节 无机非金属材料 课件(28张)
- 2024年北京通建信息系统有限公司招聘笔试参考题库含答案解析
- 组建城市建设运营公司方案
- 水泥装车岗位安全职责范文
- 安徽省建设工程工程量清单计价依据说明
- 2023年代缴社保说明范文
- 2016-2017学年天津市部分区九年级(上)期末化学试卷
- 公园园区设施设备维护方案
- 课程设计DLP4-13型锅炉中硫烟煤烟气袋式除尘湿式脱硫系统设计
- 新时代背景下农村家庭教育存在的困境及对策研究
评论
0/150
提交评论