1、C+程序设计报告 1 课程设计 设计题目设计题目 职工工资管理系统设计职工工资管理系统设计 C+程序设计报告 2 课程名称 面向对象程序设计课程设计 课程代码 设计题目 职工工资管理系统的设计 题目序号 设计时间 2010 年 1 月 11 日 2010 年 1 月 14 日 系(院) 计算机科学与信息工 程系 专业 计算机科学与技术 班级 一、课程设计任务(条件) 、具体技术参数(指标)一、课程设计任务(条件) 、具体技术参数(指标) 本课程设计是面向对象程序设计课程的后继教学环节,学好 C+语言就必须坚 持用面向对象的思维方式分析问题、解决问题,最好的方法是仿照教材编写 C+实际应 用程序
2、。 根据教材中人事管理应用程序框架,在此基础上按要求完成以下实际应用程序。 职工工资管理系统课程设计题目: 实现一个简单的工资管理系统。系统的主要功能是计算职工当月工资并存档。公司 内有 5 种不同类型的职工:技术人员、销售人员、文秘、技术经理和销售经理,他们的 工资计算方式各不相同。 技术人员的工资根据他当月工作的小时数来定,时薪 35 元;销售人员的工资则是根 据本人当月销售额来确定,工资为销售额的 5%;文秘有 4000 元的基本工资,奖金视为 当月工作情况而定;技术经理和销售经理都有 6000 元的固定工资,技术经理的工作业绩 可分为 3 个等级,每级可获得 1000 元奖金,销售经理
3、的奖金由他所管理的销售员的销售 业绩而定,总销售额的 2% 职工工资管理系统的设计: 对于整个系统的设计思路是,首先,由员工输入用户信息,包括编号、姓名和职务; 然后,在计算某职工的当月工资时,系统先从已输入的职工信息文件中获取职工的工作 类型,接着调用不同的处理程序进行计算;最后将结果存档。 从用户需求中,可以发现 5 种类型的职员都可以分别设计为一个类。首先,他们都 属于雇员,因此可以设计一个基类 employee(雇员) ,然后从中派生出 technician(技术 人员)类,salesman(销售人员)类、secretary(文秘)类。对于技术经理和销售经理来 说,他们都属于经理,所以
4、设计时可以从 employee 类中派生出一个 manager(经理)类 作为 techmanager(技术经理)和 salesman(销售经理)类的父类。而经理类本身并不对 应实际的员工类型, 由于技术经理有技术人员和经理的双重特点, 因此 techmanager 类同 时继承 technician类和 manger 类;销售经理有销售人员和经理的双重特点,因此 salesmanager 类同时继承 salesman类和 manager 类。 根据用户需要 employee 类应该拥有的属性有:编号、姓名、职务、月份和工资。 Employee 类的服务可以包括 info () 、 search () 、 countSalary () 、 recordInfo () 和 recordSalary () 。其中,info()函数用于接收用户输入的职工信息;search()函数用来根据职工名查找 职工信息;countSalary()函数为工资计算函数,但在基类中为空,原因是各类人员的工资 计算