您好,欢迎访问三七文档
课程设计报告课程名称面向对象程序设计课题名称高校工资管理系统专业计算机科学与技术班级计算机1181班学号201113030122姓名宋思达指导教师李珍辉谭小兰2012年12月15日湖南工程学院课程设计任务书课程名称面向对象程序设计课题高校工资管理系统专业班级计算机1181班学生姓名宋思达学号201113030122指导老师李珍辉谭小兰审批任务书下达日期2012年12月15日任务完成日期2013年01月05日一、设计内容与设计要求1.课程设计目的:面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。2.课题题目高校工资管理系统3.设计要求:(1)根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。②完成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。③完成系统详细设计:包括数据库需求分析;数据库概念结构设计(E-R图);数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。④系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。⑥关键源程序(带注释)(2)按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。(3)不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。二、进度安排第17周星期二8:00——12:00星期三8:00——12:00星期四8:00——12:00星期五8:00——12:00星期六8:00——12:00第18周星期五8:00——12:00三、参考书籍1.《C++程序设计课程设计》刘振安编著TP312C5632.《C++Builder和Delphi课程设计与系统开发案例》伍俊良清华大学出版社7-302-06072-X3.VisualC++课程设计案例精编严华峰中国水利水电出版社7-5084-2007-120044.VisualC++课程设计与系统开发案例伍俊良清华大学出版社7-302-05968-320025.VisualC++语言课程设计:案例精选与编程指导陈清华朱红东南大学出版社7-81089-275-420036.VisualC++课程设计案例精编中国水利水电出版社7-5084-1004-120027.数据结构课程设计案例精编:用C/C++描述李建学李光元吴春芳清华大学出版社7-302-14536-92007(编程平台不限,vc++,c++Builder等等。)高校工资管理系统(一)、课程设计题目:高校工资管理系统(二)、目的与要求:1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;(4)在系统的设计中,至少要用到面向对象的一种机制。3、创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。4、写出设计说明书(三)、设计方法和基本原理:1、问题描述(功能要求):现一高校有五类职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师。为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。同时注意生成的相关数据结果以文件方式存放在硬盘中。程序应具备从键盘录入,文件的可继续录入,任意职工的工资查询(可由职工编号和职工姓名来实现),如若有职工由于工作调动,则可进行相对应的删除动作。相关信息:每一学期将学校职工的本学期任职情况及上学期工作的相关情况输入计算机,则本学期职工的月工资按程序处理后的结果发放,其中职工的工资计算方法如下:其中工资的基本构成如下:教师:基本工资+课时费;实验员:基本工资+实验室补助;行政人员:基本工资+行政补贴;教师兼职实验员:基本工资+课时费+实验室补助;行政人员兼职教师:基本工资+行政补贴+课时费;(其中:(1)课时费:教师每一学期的基本工作量为120,实验员每学期基本工作量为70,行政人员没有基本工作量,每节课时费为20元;课时费=(上学期工作量-基本工作量)*20;注意:如果上学期基本工作量没完成,则其(上学期工作量-基本工作量)*20为负值。(2)基本工资:教师800元,实验员650元,行政人员750元。(3)行政补贴:250元。(4)实验室补助:150元。2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)写出需求分析(做什么);(2)分析系统中的各个实体之间的关系及其属性和行为;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述(包括属性和方法);(5)完成类中各个成员函数的定义;(6)用户界面的设计;(7)分析系统功能模块(系统流程图);(8)代码编写,功能调试;(9)完成系统总结报告以及系统使用说明书。目录1.系统需求分析....................................................................................32.总体设计............................................................................................83.详细设计..........................................................................................124.系统调试..........................................................................................165.结果分析..........................................................................................196.总结..................................................................................................201.系统化需求分析随着计算机技术的飞速发展正规化的管理与世界接轨的重要条件,学校有对职工具体信息操作,对职工信息的查询,修改,增加和删除,工资的计算和发放需求.这个系统可以保存员工信息,根据输入的数据自动实现工资发放功能,也可以查询该职工所有信息,也可以按职工在编号或姓名来实现职工在修改,增加和删除功能,实现了任意职工的工资查询。职工信息保存在文件里,实现文件保存功能2.总体设计主菜单职工信息录入职工工资放统计和发放职工工资查询职工信息查询和修改职工的增加和删除退出程序新学期工资统计工资发放信息查询信息修改增加职工删除职工3.详细设计GUANLI-name:string-sex:string-address:string-id:string-job:string-number:int-classhour:int-newclsshour:int-pay:int-year:int-month:int-day:intstatic-laoshiji:intstatic-shiyanji:intstatic-xingzhengji:intstatic-shiyanbu:intstatic-xingzhengbu:intstatic-classpay:int+GUANLI()+outname():string+outsex():string+outaddress():string+outid():string+outjob():string+outnumber():int+outclasshour():int+outnewclasshour():int+outpay():int+outyear():int+outmonth():int+outday():int+changejob():void+pay():void+display():void+newpay():void+shanpay():void4.系统调试1.图:进入主菜单:2.图:职工信息录入:3.图:输入“N”回到主菜单:3.图:查询职工信息:5.图:修改职工信息:6.图:增加职工信息:7.图:浏览职工信息:8.图:删除职工信息:8.返回主菜单,退出程序。5.结果分析这个设计的独到指出就是,操作简单,实现方便,基本实现了员工基本资料的查询和修改,对工资的操作也很简洁方便。不足之处是挺多的功能都未实现,比如整个系统,职工资料对外都是全部开放的,任何人都可对系统进行操作,员工的资料还没进行保密和封锁工作,系统还有很多需要完善的地方,系统的实用性和灵活性都还很缺乏,不完善之处还需继续努力的修改……6.总结这次的程序设计相对于上学期还是有了进步的,这次的课设中,我遇到了很多的问题,有的通过思考或查看书本解决了,有的还留在脑子里,只有通过孜孜不倦的求索我们才会有进步,不懂得思考就不能真正的掌握一门知识。这次的实验给以了我警示,它让我明白我所掌握的知识还很欠缺,对于继承与派生这一章的知识,我以为自己勉强掌握了,这次实验后我发现我掌握得还不够。基类的保护成员公有继承到派生类,类外是否可以通过对象来访问呢,原先我认为是可以的,经过这次程序设计,我知道我错了。总之,我觉得做学问不应该马虎,对于所学一定要有深入的理解,这也是我这次课设得到的启示。课程设计总体感觉就是有点小麻烦,也终于知道到当初李珍辉老师讲的C++比上学期学的C语言要难要深奥很多也难了狠多,因为C++的知识面和深度都比C大很多,学起来相对也比较吃力。而这次的课设,把我在学这门课程存在的弊端全部暴露出来了,原来对于这门课,我学到的仅仅是一些皮毛而已,在做程序的过程中,发现好多功能我都无法用我脑中的知识去实现它,必须翻开课本依葫芦画瓢才能把程序写出来,还有遇到的一些要求根本没遇到过,比如用文件保存的方式保存,这就得用到c++里的文件流来输入输出,并保存到指定的文件里,这些知识点老实虽然没讲,但是作为一个大学生,并不是老师不讲就不看的,应该自己去看,因为后边的只是点反而是最重要的,在我们班,有了好几个同学都已经把后边的知识看了几遍了,所以他们用起来就得心应手了,而我,也来不及去好好看书了,只能厚着脸皮去问他们,让他们列个模版给我,然后再由自己去想程序的具体实行部分,这直接导致的结果就是浪费了好多时间,所以我决定以后一定认真听课,坚决不旷课早退,要把这么只是彻彻底底的学好,学扎实。附:源程序#includefstream.h#includestring.hclassPerson//人员类(抽象类){protected:doublenum;//编号charName[20];//姓名intDuty;//人员类别标志(1-教师,2-实验员,3-行政人员,4-教师兼实验员,5-行政兼教师)doubleSalary;//基本工资Person*next;//指针域public:Person()//基类构造{next=0;//指针域设置为空}virtual~Person()//基类虚析构{}virtualvoidInput()=0;//从键盘输入数据virtualvoidInput(ifstream&ifs)=0;//从文件输入数据vi
本文标题:高校工资管理系统
链接地址:https://www.777doc.com/doc-1025604 .html