ImageVerifierCode 换一换
格式:DOCX , 页数:54 ,大小:1,012.72KB ,
资源ID:10433386      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10433386.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象程序设计课程设计高校工资管理系统.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

面向对象程序设计课程设计高校工资管理系统.docx

1、面向对象程序设计课程设计高校工资管理系统各专业全套优秀毕业设计图纸 课 程 设 计 报 告课程名称 面向对象程序设计 课题名称 高校工资管理系统 专 业 计算机科学与技术 班 级 1202 学 号 34 姓 名 指导教师 2013年 12 月 12 日湖南工程学院课 程 设 计 任 务 书课程名称 面向对象程序设计 课 题 高校工资管理系统 专业班级 计算机科学与技术1202 学生姓名 学 号 34 指导老师 审 批 任务书下达日期 2013 年 12 月 12 日任务完成日期 2014 年 01 月 06 日高校工资管理系统 (一)、课程设计题目:高校工资管理系统(二)、目的与要求: 1、目

2、的: (1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中至少要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三)、设计方法和基本原理: 1、问题描述(功能要求): 现一高校有五类

3、职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师。为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。同时注意生成的相关数据结果以文件方式存放在硬盘中。程序应具备从键盘录入,文件的可继续录入,任意职工的工资查询(可由职工编号和职工姓名来实现),如若有职工由于工作调动,则可进行相对应的删除动作。相关信息:每一学期将学校职工的本学期任职情况及上学期工作的相关情况输入计算机,则本学期职工的月工资按程序处理后的结果发放,其中职工的工资计算方法如下:其中工资的基本构成如下: 教师: 基本工资+课时费; 实验员: 基本工资+实验室补助; 行政人员: 基本工资+行政补贴; 教师兼职实验

4、员: 基本工资+课时费+实验室补助; 行政人员兼职教师:基本工资+行政补贴+课时费;其中:(1)课时费:教师每一学期的基本工作量为120,实验员每学期基本工作量为70,行政人员没有基本工作量,每节课时费为20元;课时费=(上学期工作量-基本工作量)*20; 注意:如果上学期基本工作量没完成,则其(上学期工作量-基本工作量)*20为负值。 (2)基本工资:教师800元,实验员650元,行政人员750元。 (3)行政补贴:250元。 (4)实验室补助:150元。2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)写出需求分析(做什么);(2)分析系统中的各个实体之间的关系及

5、其属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述(包括属性和方法); (5)完成类中各个成员函数的定义; (6)用户界面的设计; (7)分析系统功能模块(系统流程图);(8)代码编写 ,功能调试;(9)完成系统总结报告以及系统使用说明书。 1.1用户需求.11.2系统拟实现的功能.12.1系统功能分析.22.2系统功能模块图.33. 详细设计 3.1程序模块.53.2类的层次图.63.3功能模块实现.74.1进入主页面.104.2进入信息录入模块.114.3进入信息查询模块.134.4进入信息删除模块.155.1设计特点.165.2设计不足.166.1设计

6、总结.177. 附录7.1头文件.187.2主函数.321. 系统需求分析1.1用户需求 现一高校有五类职工:教师,实验员,行政人员,教师兼职实验员,行政人员兼职教师。为了实现工资发放的自动功能,现要求编写程序来自动完成此功能。同时注意生成的相关数据结果以文件方式存放在硬盘中。程序应具备从键盘录入,文件的可继续录入,任意职工的工资查询(可由职工编号和职工姓名来实现),如若有职工由于工作调动,则可进行相对应的删除动作。 1.2系统拟实现的功能 (1)本系统显示这样的主菜单: 1.信息录入 2.信息查询 3.信息删除 4.退出 (2)进入信息输入功能后,显示录入菜单: 1.教师录入 2.实验员录入

7、 3.行政人员录入 4.教师兼职实验员录入 5.行政人员兼职教师录入 6.退出录入 (3)进入信息查询功能后,显示查询菜单: 1.教师查询 2.实验员查询 3.行政人员查询 4.教师兼职实验员查询 5.行政人员兼职教师查询 6.退出查询 (4)进入信息删除功能后,显示删除菜单: 1.教师删除 2.实验员删除 3.行政人员删除 4.教师兼职实验员删除 5.行政人员兼职教师删除 6.退出删除2. 总体设计2.1系统功能分析 (1)本程序采用的是类、继承、多态及文件来处理职工的所有基本信息。 (2)程序模块组成: a.包含的库函数有:#include iostream #include fstrea

8、m.h #include stdlib.h #include string.h 其中#include fstream.h是 文件流的头文件,ifstream 和ofstream表示输入和输出文件流。 b.包含的函数有: 主函数:int main() 菜单函数:void show1()(录入菜单函数) void show2()(查询菜单函数) void show3()(删除菜单函数) void show4()(主菜单函数) 信息录入函数:void jiaoshiluru()(教师录入函数) void shiyanyuanluru()(实验员录入函数) void managerluru()(行政人

9、员录入函数) void jianzhi1luru()(教师兼职实验员录入函数) void jianzhi2luru()(行政人员兼职教师录入函数) 信息查询函数:void jiaoshichaxun()(教师查询函数) void shiyanyuanchaxun()(实验员查询函数) void managerchaxun()(行政人员查询函数) void jianzhi1chaxun()(教师兼职实验员查询函数) void jianzhi2chaxun()(行政人员兼职教师查询函数) 删除信息函数:void jiaoshishanchu()(教师删除函数) void shiyanyuansha

10、nchu()(实验员删除函数) void managershanchu()(行政人员删除函数) void jianzhi1shanchu()(教师兼职实验员删除函数) void jianzhi2shanchu()(行政人员兼职教师删除函数) 包含的类: class Employee() class Teacher() class Shiyanyuan() class Manager() classJianzhi1() class Jianzhi2()22系统功能模块图 (1)主菜单: 图2.1主菜单功能模块图 (2)录入功能: 图2.2信息录入功能模块图 (3)查询功能: 图2.3信息查询功能

11、模块图 (4)删除功能: 图2.4信息删除功能模块图3. 详细设计3.1程序模块(1)程序模块组成: 主函数:int main() 菜单函数:void show1()(录入菜单函数) void show2()(查询菜单函数) void show3()(删除菜单函数) void show4()(主菜单函数) 信息录入函数:void jiaoshiluru()(教师录入函数) void shiyanyuanluru()(实验员录入函数) void managerluru()(行政人员录入函数) void jianzhi1luru()(教师兼职实验员录入函数) void jianzhi2luru()

12、(行政人员兼职教师录入函数) 信息查询函数:void jiaoshichaxun()(教师查询函数) void shiyanyuanchaxun()(实验员查询函数) void managerchaxun()(行政人员查询函数) void jianzhi1chaxun()(教师兼职实验员查询函数) void jianzhi2chaxun()(行政人员兼职教师查询函数) 删除信息函数:void jiaoshishanchu()(教师删除函数) void shiyanyuanshanchu()(实验员删除函数) void managershanchu()(行政人员删除函数) void jianzh

13、i1shanchu()(教师兼职实验员删除函数) void jianzhi2shanchu()(行政人员兼职教师删除函数)(2)各函数的主要功能: a.主函数:主要用于对其他函数的调用,采用for循环,使用多分支语句。 b.菜单函数:show1()是录入菜单函数,显示各类职工的录入;show2()是查询菜单函数,显示各类职工的查询;show3()是删除菜单函数,显示各类职工的删除;show4()是主菜单函数,显示登录的页面。 c.信息录入函数:使用for和多分支语句,调用类的成员函数,实现各类职 工信息的录入,并读取到磁盘里,形成文本文件,可从文本文件中查看录入的职 工信息。 d.信息查询函数

14、:使用for和多分支语句,调用类的成员函数,实现各类职 工信息的查询,并从磁盘里读取,显示在屏幕上。 e.信息删除函数:使用for和多分支语句,调用类的成员函数,实现各类职 工信息的删除,删除磁盘里用户需要删除的数据。 3.2类层次图 图3.1类层次图3.3功能模块实现 (1)主菜单函数 图3.2主菜单函数实现 (2)信息录入函数 图3.3信息录入函数实现 (3)信息查询函数 图3.4信息查询函数实现 (4)信息删除函数 图3.5信息删除函数实现4. 系统调试 4.1进入主页面,如下图所示: 图4.1主菜单 4.2进入信息录入模块,出现下图: 图4.2录入模块 图4.3教师录入 图4.4实验员

15、录入 图4.5行政人员录入 图4.6教师兼职实验员录入 图4.7行政人员兼职教师录入4.3进入信息查询模块,出现下图: 图4.8信息查询模块 图4.9按编号查询教师 图4.10按姓名查询教师 图4.11按编号查询实验员 图4.12按姓名查询实验员 图4.13 按编号查询行政人员 图4.14按姓名查询行政人员 图4.15按编号查询教师兼职实验员 图4.16按姓名查询教师兼职实验员 图4.17按编号查询行政人员兼职教师 图4.18按姓名查询行政人员兼职教师4.4进入信息删除模块,出现下图: 图4.19信息删除模块 图4.20教师删除 图4.21实验员删除 图4.22行政人员删除 图4.23教师兼职

16、实验员删除 图4.24行政人员兼职教师删除5. 结果分析 5.1设计特点:在输入信息的时候先选择你要输入的职工类型,然后有提示输入职工的个数, 逐个输入即可,在输入过程中,系统会自动将用户输入的信息存储到相应的文件中。本系统符合设计基本要求,能够实现职工信息的录入、查询、删除等功能,可以从文本文件中查看录入的职工信息,比较方便。 5.2设计不足:a.各职工的最大人数是固定的,如果超过最大数,需要修改程序里数据,给用户带来麻烦,增加了维护系统成本。有必要把职工信息存储改为动态申请内存,就不会出现问题。b.系统不能分辨输入的职工信息相同的情况,在查询职工信息时,会输出职工信息相同数据。c.此系统没

17、有修改用户信息的功能,只能查询职工信息和删除职工信息。6. 总结6.1设计总结(1)通过这次对高校工资管理系统的设计,我体会到面向对象程序设计的特点:多态性、封装性、继承性,并掌握了一定的编程技巧,拓展了思维,提升了自己解决实际问题的能力。虽然对文件和多态的理解还很肤浅,但是我学到了很多平时学不到的东西。通过这次课程设计,深深体会到我对很多的专业知识还不了解,还有许多知识需要掌握,在以后的学习中,我需要打好基础,认真对待不同的问题,学会从不同的角度看待问题,争取做得更好。同时也把我在学这门课程的所存在的弊端暴露出来了,这就促使我要更多的阅读课外书籍,学到更多的专业知识,不断锻炼自己,使自己得到

18、不断的提高。(2)我要衷心感谢老师和同学们在我的设计过程中给予我的极大帮助,他们给我指出程序中的错误,帮我修改不足,给我讲多文件的创建和使用,不断完善我的设计,使我能够及时、顺利地完成此次的课程设计。衷心感谢他们的援助,谢谢你们!7. 附录 7.1头文件Employee.h(雇员)class Employeepublic: char name20; int num; void display() coutname; coutnum; ; Teacher.h(教师)extern i;class Teacher:public Employeepublic: int score; int time;

19、 Teacher(int s=800) score=s; static void jiaoshiluru(); static void jiaoshichaxun(); static void jiaoshishanchu(); void display1() cout请输入教师的: ; Employee:display(); couttime; ;Teacher t100;void Teacher:jiaoshiluru() /教师录入 ofstream outfile(教师.txt,ios:app); if(outfile.fail() coutopen error!endl; exit(

20、1); int b; coutb; for(i=0;ib;i+) ti.display1(); outfileti.num ti.name ti.score ti.time endl; outfile.close();void Teacher:jiaoshichaxun() /教师查询 ifstream infile(教师.txt,ios:in); int k,n,r,bh; char nam20; cout1.按编号查询endl; cout2.按姓名查询endl; coutr; if(r=1) coutbh; for(i=0,n=0;iti.numti.nameti.scoreti.time

21、; if(ti.num=0) break; if(ti.num=bh) n+; k=ti.score+(ti.time-120)*20; cout教师: ti.num ti.name kendl; if(n=0) cout没有你要查询的教师。endl; infile.close(); if(r=2) coutnam; for(i=0,n=0;iti.numti.nameti.scoreti.time; if(ti.num=0) break; if(strcmp(ti.name,nam)=0) n+; k=ti.score+(ti.time-120)*20; cout教师: ti.num ti.name kendl; if(n=0) cout没有你要查询的教师。endl; infile.close(); void Teacher:jiaoshishanchu() /教师删除 ifstream infile(教师.txt,ios:in); char nam20; coutnam; for(i=0;iti.numti.nameti.scoreti.time; if(ti.num=0) break; if(strcmp(ti.name,nam)=0) for(int j=i;j100;j+) tj.num=tj+1.num;strcpy(tj.name,tj

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1