欢迎来到天天文库
浏览记录
ID:56237125
大小:177.00 KB
页数:8页
时间:2020-03-23
《程序设计基础课程设计范例.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课程设计示例封面:课程设计报告设计题目:小型公司人员信息管理学生姓名:专业:班级:学号:指导教师:完成日期:合肥工业大学计算机与信息学院(一)需求和规格说明某小型公司,主要有四类人员:经理、技术人员、销售经理和推销员。要求存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。人员编号基数为1000,每输入一个人员的信息,编号顺序加1。程序要对所有人员有捉升级别的功能。为简单起见,所有人员的初始级别均为1级,然厉进行升级,经理升为4级,技术人员和销售经理升为3级,推销员仍为1级。月薪计算办法是:经理拿固定月薪8000元;技术人
2、员按每小时100元领収月薪;推销员的月薪按该推销员当月销售额的4%提成;销传经理既拿固定月薪也领取销传捉成,固定月薪为5000元,销售提成为所管辖部门当月销售总额的5%°。(二)设计根据上述需求,设十
3、•一个基类employee,然后派生出technician(技术人员)类、manager(经理)类和salesman(推销员)类。由于销售经理(salesmanager)既是经理乂是销售人员,兼具两类人员的特点,因此同时继承manager和salesmen两个类。在基类屮,除了定义构造函数和析构函数以外,还应统一定义对各类人员信息都应有的操作
4、,这样可以规范乞派生类的基本行为。但是各类人员的月薪计算方法不同,不能在基类employee屮统一定义计算方法。齐类人员信息的显示内容也不同,同样不能在基类中统一定义显示方法。因此在employee类中用纯虚函数的方式定义了计算月薪函数gy()和显示信息函数displaystatus0,然厉在派生类屮再根据各自的同名函数实现具体的功能。由于salesmanager的两个基类乂有公共基类employee,为避免二义性,这里将employee类设计为虚基类。系统类图属性和方法定义类名成员类别类型成员名描述employee属性char*name雇
5、员姓名intindividualEmpXo个人编号intgrade级别floataccumPay月薪总额intemployeeNo本公司雇员编号目前最人值方法voidpay0计算月薪函数(为纯虚函数)voidpromote(int)升级函数voidDisplayStatus()显示人员信息(为纯虚函数)类名成员类别类型咸员名描述technician属性floathourlyRate每小时酬金intworkHours当月工作时数方法voidpay0accumPay=hourlyRate*workHoursvoidDisplaystatus0显
6、示技术人员信息manager属性floatmonthlyPay固定月薪数方法voidpay0AccumPay=monthlyPayvoidDisplayStatus0显示经理信息salesman属性floatCommRatc按销售额提取酬金百分比floatsales当月销售额方法voidpay0accumPay=sales*CommRatevoidDisplayStatus0显示推销员信息salesmanager属性方法voidpay0accumPay=monthlyPay+CommRate*salesvoidDisplayStatus0显
7、示销售经理信息(三)用户手册程序运行时,首先提示输入雇员姓名。对于经理直接输出其工资及其它信息;对于技术人员,程序提示输入其本月工作时数,然厉输出其工资及其它信息;对于推销员,程序提示输入其本月销售额,然后输出其工资及其它信息;对于销售经理,程序提示输入其管辖部门本月销售总额,然厉输出其工资及其它信息。(四)调试及测试由于公司每增加一个雇员,无论他(她)是哪一类人员,其编号均是顺序加1,也就是employee类的所有派生类对象创婭时,都要访问同一个employeeNo,因此将employeeNo定义为静态数据成员。运行实例:pleasein
8、putemployee'sname:zhangpleaseinputemployee'sname:wangpleaseinputemployee'sname:Lipleaseinputemployee"sname:zhaoinputzhangtheworkHoursofthismonth:56Technician:zhangNo:1001monthsalary:5600Technician:zhangNo:1001grade:3thismonthsalary:5600Manager:wangNo:1002monthsalary:8000Ma
9、nager:wangNo:1002grade:4thismonthsalary:8000inputLithesalesofthismonth:47900Salesman:ANo
此文档下载收益归作者所有