资源预览内容
第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
第9页 / 共20页
第10页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
中国石油大学(华东)信息与控制工程学院程序设计实习报告小型公司工资管理系统的设计姓名:Yuppies Liu 时 间:2011.7.142011.7.172011年7月目录一、 实习内容1二、 设计思路2三、 程序代码清单3四、 运行结果10五、 程序使用说明16六、 总结及心得体会17一、实习内容1 题目:小型公司管理系统的设计设计2.设计说明与基本要求(1) 公司主要有4类人员:经理、技术员、销售员、销售经理。 要求存储这些人的职工号、姓名、月工资、年龄、性别等信息。(2) 工资的计算方法 A 经理:固定月薪为8000元; B技术员:工作时间*小时工资(100元/小时);C销售员:销售额*4%提成; D销售经理:底薪(5000元)+所辖部门销售额总额*0.5%。(3) 员工基本数据的输入 要求每类人员不能少于4人,其中销售员需要8名,每名销 售经理手下有名销售员。(4) 各类的数据成员访问权限设置为:protected3.实现基本功能 (1) 数据输入:输入各种数据 (2) 数据的输入 :统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行的帽泡排序; (3) 数据打印:打印各类员工的数据信息;(4) 数据备份(5) 退出:退出本系统 备注:可适当扩充程序功能,功能扩充得当可加分4菜单说明(1)数据录入指通过键盘输入各类员工的各项数据(2)数据统计指统计各销售经理下属销售员的销售额及销售额之和;销售经理按工资进行的冒泡排序 (3) 数据的打印指按照表格的格式在屏幕上输出各员工的数据信息(4) 数据的备份指把各类员工的数据信息写入文件中保存(5)退出:结束程序的运行二、设计思路在这个公司中有四类人员:经理、兼职技术人员、销售员要存储的信息有姓名、编号、性别、年龄、工资、销售额、所属经理编号由于所有职员有相同的成员如编号(num)、姓名(name)、性别(sex)、年龄(age)、工资(wage)。所以可将所有信息归纳为一个职员类(Guyuan),将其作为一个基类,然后派生出子类,实现各类人员不同的信息(如工资计算), 由于销售经理具有销售员和经理的特性,所以销售经理采用多重继承的关系,继承销售员和经理的两个类,为避免二义性将employee定义为虚基类,可用下图表示:题目中假设公司有2名技术员、4名销售员、经理和销售经理各2名,所以用对象数组的方式,利用循环语句来实现人员的输入和输出,整个程序设计如下:基类雇员类:数据成员有职工号、姓名、年龄、性别、月工资;成员函数只有姓名、年龄、性别的设置函数。技术员类:继承基类数据成员增加了工作时间;成员函数有设置函数、构造函数、输出函数下属函数、备份函数下属函数。经理类:继承基类数据成员未增加;成员函数有设置函数、构造函数、输出函数下属函数、备份函数下属函数。销售员类:继承基类数据成员多了销售额、所属经理编号;成员函数有设置函数、构造函数、输出函数下属函数、备份函数下属函数、销售额返回函数、所属经理编号输出函数。销售经理类:继承基类数据成员未增加;成员函数有设置函数、构造函数、输出函数下属函数、备份函数下属函数、统计函数所属函数。三、程序代码清单#include#include#include#includeusing namespace std;ofstream 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()coutnum; coutendl; coutname; coutendl; coutsex; coutendl; coutage; coutendl; couttime; coutendl; wage=time*100; void show_jishuyuan() coutsetw(12)numsetw(12)namesetw(12)sexsetw(12)agesetw(12)wageendl; void show_jishuyuan4() outfilesetw(12)numsetw(12)namesetw(12)sexsetw(12)agesetw(12)wageendl;class Jingli:protected Guyuanpublic: void set_jingli() coutnum; coutendl; coutname; coutendl; coutsex; coutendl; coutage; coutendl;wage=8000; void show_jingli() coutsetw(12)numsetw(12)namesetw(12)sexsetw(12)agesetw(12)wageendl; void show_jingli4() outfilesetw(12)numsetw(12)namesetw(12)sexsetw(12)agesetw(12)wageendl; ; class Xiaoshouyuan:protected Guyuanpublic: void set_xiaoshouyuan() coutnum; coutendl; coutname; coutendl; coutsex; coutendl; coutage; coutendl; coutsell; coutendl; coutbelong; coutendl; wage=sell*4/100; void show_xiaoshouyuan() coutsetw(14)numsetw(14)namesetw(14)sellendl; void show_xiaoshouyuan2() coutsetw(8)numsetw(8)namesetw(8)sexsetw(8)agesetw(8)wagesetw(18)belongendl; void show_xiaoshouyuan4() outfilesetw(8)numsetw(8)namesetw(8)sexsetw(8)agesetw(8)wagesetw(18)belongendl;int sell,belong;class Xiaoshoujingli:protected Guyuanpublic: int shu_jingli() return num; void set_xiaoshoujingli() coutnum;coutendl; coutname;coutendl; coutsex;coutendl; coutage; coutendl; void show_num()coutnum; void show_name()coutname; void show_xiaoshoujingli() coutsetw(12)numsetw(12)namesetw(12)sexsetw(12)agesetw(12)wageendl; void show_xiaoshoujingli4() outfilesetw(12)numsetw(12)namesetw(12)sexsetw(12)agesetw(12)wageendl; void show_wage() coutwage; void wage_sum(int sum) wage=5000+sum*0.5/100; void disp() cout 小型公司工资管理系统 endl; cout endl; cout 请选择您所需要的操作 endl; cout 数据输入: 1,并按回车键 endl; cout 数据统计: 2,并按回车键 endl; cou
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号