欢迎来到天天文库
浏览记录
ID:57265157
大小:95.50 KB
页数:17页
时间:2020-08-08
《工资管理系统实验报告(附源程序).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、合肥学院计算机科学与技术系课程设计报告2008~2009学年第二期课程程序设计语言Ⅱ课程设计课程设计名称企业员工工资管理系统学生姓名吕劝劝学号0804032008专业班级网络工程(2)班指导教师高玲玲李红2009年6月一、题目工资管理系统。某小型公司,主要有四类人员:经理、技术人员、销售经理和推销员。要求存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。人员编号基数为1000,每输入一位人员就加一。经理升级三级因此为四级,技术人员和销售经理升级二级所以为三级,销售人员升级为二级。月薪计算办法是:经理拿固定月薪
2、8000元;技术人员按每小时100元领取月薪;推销员的月薪按该推销员当月销售额的4%提成;销售经理既拿固定月薪也领取销售提成,固定月薪为5000元,销售提成为所管辖部门当月销售总额的0.5‰。二、问题分析根据题目要求,编写一个可以管理工资系统的程序,公司有四种成员:经理,销售经理,销售人员,技术人员。每个人员的信息有姓名,编号,级别,当前月薪,人员编号技术为1000。1.功能选择项:输入选择功能项,及每个功能对应的作用。2.信息的录入:包括姓名,级别,编号,技术人员需要本月的工作时数,销售经理需要固定月薪和本月销售额,销售人员仅
3、需要本月的销售额,经理需要输入固定月薪。3.显示信息:显示各人员的姓名,级别,编号和本月应发金额。根据题目要求设计如下:1.设计一个主菜单大体如下:【1】各成员信息输入一次;【2】各成员信息输入两次;【3】各成员信息输入三次;2.程序运行时,首先提示输入雇员姓名;3.对于经理直接输出其工资及其它信息;4.对于技术人员,程序提示输入其本月工作时数,然后输出其工资及其它信息;5.对于推销员,程序提示输入其本月销售额,然后输出其工资及其它信息;6.对于销售经理,程序提示输入其管辖部门本月销售总额,然后输出其工资及其它信息。三、算法的设
4、计根据上述需求,设计一个基类employee,然后派生出technician(技术人员)类、manager(经理)类和salesman(推销员)类。由于销售经理(salesmanager)既是经理又是销售人员,兼具两类人员的特点,因此同时继承manager和salesman两个类。定义一个雇员类如下:classemployee{protected:charname[20];//姓名intnum;//个人编号intgrade;//级别floatsalary;//月薪总额staticintNo;//静态数据:目前编号public:e
5、mployee();//构造函数~employee();//析构函数virtualvoidpay()=0;//计算月薪函数(纯虚函数)virtualvoidpromote(intjishu=0);//升级函数(虚函数)voidSetName(char*);//设置姓名函数char*GetName();//提取姓名函数intGetNum();//提取编号函数intGetgrade();//提取级别函数floatGetsalary();//提取月薪函数};在基类中,除了定义构造函数和析构函数以外,还应统一定义对各类人员信息都应有的操
6、作,这样可以规范各派生类的基本行为。但是各类人员的月薪计算方法不同,不能在基类employee中统一定义计算方法。各类人员信息的显示内容也不同,同样不能在基类中统一定义显示方法。因此,在employee类中用纯虚函数的方式定义了计算月薪函数pay,然后在派生类中再根据各自的同名函数实现具体的功能。由于salesmanager的两个基类又有公共基类employee,为避免二义性,这里将employee类设计为虚基类。基类的数据成员和函数成员描述系统类图salesmanagervirtualvoidpay();salesmanflo
7、atCommRate;floatsales;virtualvoidpay();;managerfloatmonthlyPayvirtualvoidpay();;technicianfloathourlyRateintworkHoursvirtualvoidpay();;employeechar*nameintnum;intgrade;floataccumPay;staticintemployeeNo;virtualvoidpay();voidpromote(int);;属性和方法定义类名成员类别类型成员名描述employee属性
8、char*name雇员姓名intnum个人编号intgrade级别floataccumPay月薪总额intNo本公司雇员编号目前最大值方法voidpay()计算月薪函数(为纯虚函数)voidpromote(int)升级函数类名成员类别类型成员名描述technic
此文档下载收益归作者所有