《面向对象程序设计》课程设计报告模板

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计

20 ~ 20 学年第学期

设计题目职工工资管理系统设计

院(系)计算机科学与信息工程学院

专业

班级学号

学生姓名

设计时间20 年 1 月日——2011 年 1 月日

指导教师

提交日期 20 年月日

上海应用技术学院课程设计任务书

目录

1概述: .................................................................................. 错误!未定义书签。

1.1基本功能 (5)

1.2拓展功能: (6)

2课题分析 (7)

2.1类的设计 (7)

2.2类的实现 (8)

3详细设计说明 (9)

3.1程序主界面 (9)

3.2方案 (9)

3.3程序描述(输入INPUT) (9)

3.4 运行结果............................................................11 4课程设计总结 (12)

5软件使用说明 (13)

6附录(参考文献,原代码:) (13)

参考文献:................................................ 错误!未定义书签。原代码 ................................................... 错误!未定义书签。

1概述:

课程设计目的

本课程设计是《面向对象程序设计》课程的后继教学环节,学好C++语言就必须坚持用面向对象的思维方式分析问题、解决问题,最好的方法是仿照教材编写C++实际应用程序。

根据教材中人事管理应用程序框架,在此基础上按要求完成以下实际应用程序。

1.1基本功能

1.1.1输入员工信息

输入员工信息包括以下几个信息点

员工姓名

员工编号(4位数)

员工职务类型(1.技术经理2. 销售经理3. 技术人员4. 销售人员5. 文秘.)

输入后将自动保存至info.txt文件中。

在每次输入的时候均判断输入的合法性。

1.1.2计算员工工资

让用户输入要计算的员工姓名,然后根据不同的计算方式进行计算,具体计算方法为

1. 技术经理有6000元的固定工资,工作业绩可分为3个等级,每级可获得1000元奖金,

2. 销售经理有6000元的固定工资,奖金由他所管理的销售员的销售业绩而定,总销售额的2%

3.技术人员的工资根据他当月工作的小时数来定,时薪35元;

4. 销售人员的工资则是根据本人当月销售额来确定,工资为销售额的5%;

5. 文秘有4000元的基本工资,奖金视为当月工作情况而定;

提示是否需要存档

如果需要存档,则提示记录的月份,需要用户输入

在每次输入的时候均判断输入的合法性。

1.2 拓展功能:

1.2.1查询(已经完成)

1.2.2显示全部数据(已经完成)

1.2.3员工数据删除(未完成)

2课题分析

2.1类的设计

我的类的设计完全按照指导书上的设计图标所示,

设定一个虚基类employee,对于类中所有数据全部定义为公有,为后面的继承提供方便接下来technician、manager、salesman和secretary全部共有继承employee

最后根据技术经理和销售经理的特点,技术经理techmanager继承technician和manager

销售经理继承manager和salesman

这样做的目地和特点是结构清晰,目地明确,方法简便。

2.2类的实现

technician、manager、salesman和secretary以及techmanager和salesmanager构造函数全部传入自己的参数,用于计算工资,计算工资函数全部依照自己的计算特点来进行计算,其中techmanager和salesmanager又有各自的特点进行了继承。

在基类的employee中先定义了数据类型,全部为公有,这样方便下面的继承来访问到,对于里面的函数

void info();用于输入信息

bool search();用于查找

bool disply();用于全部显示

virtual void countsalary()=0;虚函数,用于计算工资,但是在这里什么也不做

int recordinfo();记录输入的信息

int recordsalary();记录员工的工资

具体做法

定义struct infostruct和struct salarystruct,用于存放不同要求的信息

void info();提示用户输入姓名,然后存入临时的字符串数组,拷贝到NAME中,再提示输入编号,复制到number中。

bool search();打开文件,读取信息,查找和name相匹配的,关闭文件。

bool disply(),打开文件,进行循环,知道文件结束,循环体中读一条信息显示一条

int recordinfo();将员工的基本数据记录到结构体中,打开文件,将数据输入文件,关闭文件

int recordsalary();将员工的工资数据记录到结构体中,打开文件,将数据输入文件,关闭文件

3详细设计说明

3.1程序主界面

3.1.1程序系统的结构

在类的实现中将题目中所包括的用法全部都写出,在主函数中,直接用IF语句来进行完成到,在每个IF语句中,对对象EM来访问类中的函数,方便而又快捷。

3.2方案

由菜单引导用户进行所需的功能,菜单如示意图所示要一目了然,

该程序不仅可以给用户提供输入员工信息的用处,而且具有查找,全部显示,以及保存和调用等功能,虽然在有些地方还有不足之处,有待开发,但是还是非常实用和方便。

按照题目提出的要求,先进行类的定义,随后对每个类进行函数的编写,完成类的实现,在主函数中,进行各个不同的操作,都是对pem数组进行调用。*pem[6]={&ma,&tm,&sm,&te,&sa,&se}

相关文档
最新文档