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