完整版C++课程设计-职工工资管理系统设计.doc
文本预览下载声明
C++课程设计-职工工资管理系统设计
PAGE
第 PAGE \* Arabic \* MERGEFORMAT 21 页
课程设计
2014 ~ 2015学年第一学期
设计题目 职工工资管理系统设计
院(系) 计算机科学与信息工程学院
专 业 数字媒体
班 级
学生姓名 王丁丁
设计时间 2015.1.26-2015.1.30
指导教师 戴蒙
提交日期 2015.1.30
上海应用技术学院课程设计任务书
课程名称
《面向对象程序设计》课程设计
课程代码
设计题目
职工工资管理系统的设计
题目序号
设计时间
2015年 1月 26日—— 2015年 1月 30日
系(院)
计算机科学与信息工程学院
专业
数字媒体
班级一、课程设计任务(条件)、具体技术参数(指标)
本课程设计是《面向对象程序设计》课程的后继教学环节,学好C++语言就必须坚持用面向对象的思维方式分析问题、解决问题,最好的方法是仿照教材编写C++实际应用程序。
根据教材中人事管理应用程序框架,在此基础上按要求完成以下实际应用程序。
职工工资管理系统课程设计题目:
实现一个简单的工资管理系统。系统的主要功能是计算职工当月工资并存档。公司内有5种不同类型的职工:技术人员、销售人员、文秘、技术经理和销售经理,他们的工资计算方式各不相同。
技术人员的工资根据他当月工作的小时数来定,时薪35元;销售人员的工资则是根据本人当月销售额来确定,工资为销售额的5%;文秘有4000元的基本工资,奖金视为当月工作情况而定;技术经理和销售经理都有6000元的固定工资,技术经理的工作业绩可分为3个等级,每级可获得1000元奖金,销售经理的奖金由他所管理的销售员的销售业绩而定,总销售额的2%
职工工资管理系统的设计:
对于整个系统的设计思路是,首先,由员工输入用户信息,包括编号、姓名和职务;然后,在计算某职工的当月工资时,系统先从已输入的职工信息文件中获取职工的工作类型,接着调用不同的处理程序进行计算;最后将结果存档。
从用户需求中,可以发现5种类型的职员都可以分别设计为一个类。首先,他们都属于雇员,因此可以设计一个基类employee(雇员),然后从中派生出technician(技术人员)类,salesman(销售人员)类、secretary(文秘)类。对于技术经理和销售经理来说,他们都属于经理,所以设计时可以从employee类中派生出一个manager(经理)类作为techmanager(技术经理)和salesman(销售经理)类的父类。而经理类本身并不对应实际的员工类型,由于技术经理有技术人员和经理的双重特点,因此techmanager类同时继承technician类和manger类;销售经理有销售人员和经理的双重特点,因此salesmanager类同时继承salesman类和manager类。
根据用户需要employee类应该拥有的属性有:编号、姓名、职务、月份和工资。Employee类的服务可以包括info()、 search()、countSalary()、recordInfo()和recordSalary()。其中,info()函数用于接收用户输入的职工信息;search()函数用来根据职工名查找职工信息;countSalary()函数为工资计算函数,但在基类中为空,原因是各类人员的工资计算方法不同,无法在基类中统一定义,必须在派生类中分别定义。recordInfo()函数和recordSalary()函数分别是职工信息和职工工资的记录函数,分别将信息存入文件info.txt和salary.txt。
具体的基类和派生类的定义如下图:
二、对课程设计成果的要求(包括课程设计说明书、图纸、图表、实物等软硬件要求)
分析职工工资管理系统程序结构: 画出程序粗略的流程图和各个模块的详细流程图,每个功能模块用文字说明他们的功能(与对应流程图放在一起);
对你已经实现的功能(修改的、新编写的)做详细的说明, 并附上流程图及程序清单。
自己对该职工工资管理系统的进一步设想;
对于有设想但最终未实现的功能的大致编程思路的阐述;
论述在设计过程中遇到的并且对你具有启发性的问题。
严禁抄袭,发现雷同,双方扣分。
三、课程设计工作进度计划:
周一、二:教师布置任务,讲解本
显示全部