《面向对象程序设计》课程设计报告模板Word文档下载推荐.doc
- 文档编号:14175777
- 上传时间:2022-10-19
- 格式:DOC
- 页数:11
- 大小:1.09MB
《面向对象程序设计》课程设计报告模板Word文档下载推荐.doc
《《面向对象程序设计》课程设计报告模板Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《《面向对象程序设计》课程设计报告模板Word文档下载推荐.doc(11页珍藏版)》请在冰豆网上搜索。
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 概述:
4
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
参考文献:
12
原代码 12
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
这样做的目地和特点是结构清晰,目地明确,方法简便。
基类employee雇员
info()函数用于接收用户输入的职工信息
search()函数用来根据职工名查找职工信息
countSalary()函数为工资计算函数
recordInfo()函数是职工信息记录函数
recordSalary()函数职工工资的记录函数
2.2类的实现
technician、manager、salesman和secretary以及techmanager和salesmanager构造函数全部传入自己的参数,用于计算工资,计算工资函数全部依照自己的计算特点来进行计算,其中techmanager和salesmanager又有各自的特点进行了继承。
在基类的employee中先定义了数据类型,全部为公有,这样方便下面的继承来访问到,对于里面的函数
voidinfo();
用于输入信息
boolsearch();
用于查找
booldisply();
用于全部显示
virtualvoidcountsalary()=0;
虚函数,用于计算工资,但是在这里什么也不做
intrecordinfo();
记录输入的信息
intrecordsalary();
记录员工的工资
具体做法
定义structinfostruct和structsalarystruct,用于存放不同要求的信息
提示用户输入姓名,然后存入临时的字符串数组,拷贝到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文件的保存。
接口
输入对应信息输出相应结果
主菜单——选择
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计 面向 对象 程序设计 课程设计 报告 模板