面向对象程序设计课程设计报告模板.docx

上传人:b****6 文档编号:7430079 上传时间:2023-05-11 格式:DOCX 页数:10 大小:380KB
下载 相关 举报
面向对象程序设计课程设计报告模板.docx_第1页
第1页 / 共10页
面向对象程序设计课程设计报告模板.docx_第2页
第2页 / 共10页
面向对象程序设计课程设计报告模板.docx_第3页
第3页 / 共10页
面向对象程序设计课程设计报告模板.docx_第4页
第4页 / 共10页
面向对象程序设计课程设计报告模板.docx_第5页
第5页 / 共10页
面向对象程序设计课程设计报告模板.docx_第6页
第6页 / 共10页
面向对象程序设计课程设计报告模板.docx_第7页
第7页 / 共10页
面向对象程序设计课程设计报告模板.docx_第8页
第8页 / 共10页
面向对象程序设计课程设计报告模板.docx_第9页
第9页 / 共10页
面向对象程序设计课程设计报告模板.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

面向对象程序设计课程设计报告模板.docx

《面向对象程序设计课程设计报告模板.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计课程设计报告模板.docx(10页珍藏版)》请在冰点文库上搜索。

面向对象程序设计课程设计报告模板.docx

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

课程设计

20~20学年第学期

 

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

 

院〔系〕计算机科学与信息工程学院

专业

班级学号

学生

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

指导教师

提交日期20年月日

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

课程名称

?

面向对象程序设计?

课程设计

课程代码

设计题目

职工工资管理系统的设计

题目序号

设计时间

20年1月日——20年1月日

系〔院〕

计算机科学与信息工程

专业

班级

一、课程设计任务〔条件〕、具体技术参数〔指标〕

本课程设计是?

面向对象程序设计?

课程的后继教学环节,学好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。

具体的基类和派生类的定义如下列图:

二、对课程设计成果的要求〔包括课程设计说明书、图纸、图表、实物等软硬件要求〕

(1)分析职工工资管理系统程序构造:

画出程序粗略的流程图和各个模块的详细流程图,每个功能模块用文字说明他们的功能〔与对应流程图放在一起〕;

(2)对你已经实现的功能〔修改的、新编写的〕做详细的说明,并附上流程图及程序清单。

(3)自己对该职工工资管理系统的进一步设想;

(4)对于有设想但最终未实现的功能的大致编程思路的阐述;

(5)论述在设计过程中遇到的并且对你具有启发性的问题。

(6)严禁抄袭,发现雷同,双方扣分。

三、课程设计工作进度方案:

周一、二:

教师布置任务,讲解本课设模块。

画出主程序粗略的流程图和各个模块的详细流程图。

设计程序及调试程序。

周三、四:

设计程序及调试程序。

同时着手写报告。

周五:

完成设计,提交报告,承受教师考评。

四、主要参考资料

〔1〕?

面向对象程序设计?

,莉,清华大学,

〔2〕?

面向对象程序设计C++语言?

朱战立等编电子科技大学

〔3〕?

面向对象程序设计----VisualC++?

斌等编,清华大学

〔4〕?

面向对象程序设计----C++语言描述?

RichardJohnsonbaugh(美)等著,蔡宇辉等译,机械工业,2003

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中先定义了数据类型,全部为公有,这样方便下面的继承来访问到,对于里面的函数

voidinfo();用于输入信息

boolsearch();用于查找

booldisply();用于全部显示

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

intrecordinfo();记录输入的信息

intrecordsalary();记录员工的工资

具体做法

定义structinfostruct和structsalarystruct,用于存放不同要求的信息

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

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

booldisply(),翻开文件,进展循环,知道文件完毕,循环体中读一条信息显示一条

intrecordinfo();将员工的根本数据记录到构造体中,翻开文件,将数据输入文件,关闭文件

intrecordsalary();将员工的工资数据记录到构造体中,翻开文件,将数据输入文件,关闭文件

3详细设计说明

3.1程序主界面

3.1.1程序系统的构造

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

3.2方案

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

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

按照题目提出的要求,先进展类的定义,随后对每个类进展函数的编写,完成类的实现,在主函数中,进展各个不同的操作,都是对pem数组进展调用。

*pem[6]={&ma,&tm,&sm,&te,&sa,&se}

3.3程序描述

可以添加新的信息。

其中添加时提示也非常清楚。

性能:

输入相应的信息,所有进展计算处理,包括保存和提取

输入项:

输入员工的工作信息

输出项:

对应的要求输出

算法

输入职工的及工作情况,判断输入容是否合法〔每个在用户输入信息后都进展合法的判断〕,职工的信息分开放在两个构造体中。

两个构造体分别用于两个txt文件的保存。

接口

输入对应信息输出相应结果

主菜单——选择

主函数中要用到类中的函数时,全部通过对象来访问到。

3.4运行结果

 

4课程设计总结

 

5软件使用说明

6

7附录〔参考文献:

参考文献:

 

源代码:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 演讲主持

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2