c高级程序设计课程设计高校人事管理系统.doc

上传人:sccc 文档编号:4854496 上传时间:2023-05-20 格式:DOC 页数:38 大小:607.04KB
返回 下载 相关 举报
c高级程序设计课程设计高校人事管理系统.doc_第1页
第1页 / 共38页
c高级程序设计课程设计高校人事管理系统.doc_第2页
第2页 / 共38页
c高级程序设计课程设计高校人事管理系统.doc_第3页
第3页 / 共38页
c高级程序设计课程设计高校人事管理系统.doc_第4页
第4页 / 共38页
c高级程序设计课程设计高校人事管理系统.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《c高级程序设计课程设计高校人事管理系统.doc》由会员分享,可在线阅读,更多相关《c高级程序设计课程设计高校人事管理系统.doc(38页珍藏版)》请在三一办公上搜索。

1、沈 阳 工 程 学 院课 程 设 计设计题目: 高级程序设计课程设计 -高校人事管理系统 系 别 信息工程系 班级 计本091 学生姓名 学号 06号、05号、01号 指导教师 职称 讲师 讲师 起止日期:2011 年12月05日起至 2009 年12月16日止沈 阳 工 程 学 院 课程设计成绩评定表系(部): 信息工程系 班级: 学生姓名: 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.25432工作量按期圆满

2、完成规定的设计任务,工作量饱满,难度适宜。0.25432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以8) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分查阅文献查阅文献有一定广泛性;有综合归纳资料的能力0.25432工作量工作量饱满,难度适中。0.55432说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.35432评阅教师评审成绩

3、(加权分合计乘以4)分加权分合计评 阅 教 师 签 名: 年 月 日答 辩 小 组 评 审 意 见评价内容具 体 要 求权重评 分加权分学生汇报汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。0.55432答 辩思路清晰;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。0.55432答辩小组评审成绩(加权分合计乘以8)分加权分合计答辩小组教师签名: 年 月 日课 程 设 计 总 评 成 绩分沈 阳 工 程 学 院课程设计任务书 课程设计题目: 系 别 信息工程系 班级 计本091 学生姓名 学号 指导

4、教师 代钦 张楠 职称 讲师 讲师 课程设计进行地点: 实训楼F606 任 务 下 达 时 间: 2011年 11月 30日起止日期:2011年12月05日起至2011年12月16日止教研室主任 年 月 日批准一、课程设计的原始资料及依据查阅有关资料,进一步理解面向对象程序设计的思想,并编写一个简单的windows系统。通过本设计可以加深理解使用面向对象程序设计思想开发一个系统的方法,提高分析问题、解决问题和实际动手的能力。二、课程设计主要内容及要求设计内容:(根据自己的任务填写内容)设计要求:(1)要求利用面向对象的方法完成系统的设计;(2)要求在设计的过程中建立清晰的类层次,并画出类图;(

5、3)设计功能满足要求、易于操作的友好界面;(4)界面中需有菜单、工具栏、状态栏;(5)在系统的设计中,至少要用到面向对象的一种机制:继承、多态等;(6)在完成该题目时,小组人员进行详细的任务分工,并要在报告中体现出来。三、对课程设计说明书撰写内容、格式、字数的要求1课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。一般不应少于3000字。2在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。3设计总结部分主要写本人完成

6、工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。4课程设计说明书手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。5课程设计说明书装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。四、设计完成后应提交成果的种类、数量、质量等方面的要求1完成“任务书”中指定的功能,运行结果正确。2课程设计说明书。五、时间进度安排顺序阶段日期计 划 完

7、成 内 容备注1第1天进行设计准备,阅读资料,分析设计任务书,明确设计要求、内容和步骤2第2天需求分析3第3天概要设计4第4-5天详细设计5第58天编码、调试6第9-10天程序答辩,撰写课程设计报告六、主要参考资料(文献)1郑莉 董渊 张瑞丰 编着. C+语言程序设计(第4版). 北京:清华大学出版社.20102 陈维兴, 林小茶.C高级程序设计教程. 北京:清华大学出版社3 谭浩强.C程序设计教程. 北京:中国科学技术出版社4 王燕.面向对象的理论与C实践. 北京:清华大学出版社5 马石安, 魏文平. 主编Visual C+程序设计与应用教程. 北京:清华大学出版社6 王育坚. 主编Visu

8、al C+面向对象编程教程(第二版). 北京:清华大学出版 摘 要随着高等学校的快速发展,高校的规模越来越大,教职工的数量也越来越多,从而对高校的人事管理显得越来越重要。高校人事管理系统就是一套辅助管理人员的系统,它能够方便、快捷的帮助管理人员管理整个高校的人员,有一个好的高校人事管理系统,能够很大程度上帮助高校管理好人事的变更。 计算机应用正沿着硬件和软件两条主线相互促进,不断发展。如果说硬件是计算机的躯体,那么软件就是计算机的灵魂,软件和信息服务业将成为世界第一大产业。Visual C+是一个功能强大的可视化软件开发工具,它不仅仅是一个C+编译器,还是一种基于Windows操作系统的集成开

9、发环境。Visual C+中源程序采用C/C+语言编写,它支持面向对象程序设计,利用Visual C+开发出来的软件具有稳定性好、可移植性强的特点。设计的主要目的是提高实际操作能力,结合Visual C+开发环境进行Windows应用程序的开发,去解决各类实际问题。在设计中,我们利用Visual C+开发了高校人事管理系统。设计的功能主要有八项,添加员工信息、删除员工信息、修改以及查询员工信息、显示人员信息、统计人员信息、以及数据的装入与存盘,通过对文件的操作,更好的实现了信息的安全性。功能的实现主要是利用对话框的方式来实现的,利用命令行窗口提供友好的交互界面,通过学习以及了解Windows操

10、作系统的消息处理机制,完成了用户和对话框的交互。这次设计的实践性强,对动手能力要求较高,必须在掌握基本理论和基本方法的基础上,相互沟通相互合作才能解决实际问题。关键词:高校人事管理系统 添加 查询 删除 修改 显示 统计 装入 存盘I沈阳工程学院课程设计报告 目录目 录摘 要I第1章 绪 论1第2章22.122.1.12第3章3第4章4结 论5致 谢6参考文献7 II沈阳工程学院课程设计报告 第1章 绪论第1章 绪 论1.1 课程设计的目的 课程设计是课程教学必不可缺的一个重要环节,可加深学生对该课程所学内容的进一步的了解与巩固,是将计算机课程与实际问题相连接的关键步骤。此次程序设计综合运用所

11、学知识解决实际问题,将课堂的书本知识有效的在程序中体现出来,让学生更理解了C+功能之强大,进一步让学生对面向对象的方法以及C+的编程思想有了较好了解和认识。1.2 课程设计的背景和意义1.2.1 课程设计的背景本次课程设计,主要研究类的继承、抽象类、多态、基类以及对文件进行各项操作(如添加、修改、删除、查询、显示等)。通过这次课程设计掌握面向对象的程序设计思路,着重掌握在C+中对文件进行查找、删除、修改等操作。1. 理论研究基础(1)C+面向对象程序设计中类与对象的使用(2)类的封装性和继承性。(3)C+ I/O流库的处理,二进制文件的创建与保存。2. 技术层面的支持(1)定义基类与派生类,将

12、数据成员与成员函数封装在类中。(2)定义指向对象的指针,设计删除、查询、更改的算法。(3)C+异常处理的功能与输入输出流。1.2.2 课程设计的意义(1)通过课程设计的综合训练,培养了学生分析解决实际问题和编程等实际动手能力。帮助了同学系统的掌握C+课程的主要内容。(2)通过详细的实例分析,循环渐进的描述,启发学生顺利的完成设计。课程设计将设计要求、需求分析、算法设计、编程和实例测试运行分开,为学生创造分析问题、独立思考的条件。(3)通过编写一个较长的程序,实现了对人员信息的管理,激发了学生学习编程的兴趣。1.3 课程设计环境在Microsoft Visual C+ 6.0开发平台上编写程序源

13、代码,修改,增加功能,通过编译、连接,直到完全无误,最终执行程序,反复输入新的数据进行验证并进一步完善。1沈阳工程学院课程设计报告 第3章 第2章 需求分析2.1 问题描述某高校主要人员有:在职人员(行政人员,教师,一般员工),退休人员,返聘人员和临时工。现在需要存储这些人员的人事档案信息:编号,姓名,性别,年龄,职务,职称,政治面貌,最高学历,任职时间,来院时间。2.2 功能要求对各类人员信息完成的基本功能有:1) 添加删除功能:能根据学院人事的变动情况,添加删除记录;2) 查询功能:能根据编号和姓名进行查询;3) 编辑功能(高级):根据查询对相应的记录进行修改,并存储;4) 统计功能:能根

14、据多种参数进行人员的统计(在职人数,党员人数,女工人数,高学历高职称人数);5)保存功能:能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开。人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加12.3 问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤: 1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2)分析系统中的各个实体及它们之间的关系; 3)根据问题描述,设计系统的类层次; 4)完成类层次中各个类的描述; 5)完成类中各个成员函数的定义; 6)完成系统的应用模块; 7)功能调试; 8)完成系统总结报告。5第3章 概要设计3.1

15、系统分析3.1.1 编写目的为了提高高校管理人事的效率,方便高校管理人员了解员工各项信息,各高校需要通过高校人事管理软件来进行人事管理。从该阶段开发正式进入软件的实际开发阶段,本阶段完成系统的大致设计并明确系统的数据结构与软件结构。在软件设计阶段主要是把一个软件需求转化为软件表示的过程,这种表示只是描绘出软件的总的概貌。本概要设计说明书的目的就是进一步细化软件设计阶段得出的软件总体概貌,把它加工成在程序细节上非常接近于源程序的软件表示。3.1.2 开发背景a. 待开发软件系统的名称:高校人事管理系统b. 任务的提出者:郑龙华、李明明、邱恒凤、c. 开发者:郑龙华、李明明、邱恒凤、d. 用户:国

16、内各高校3.1.3需求规定1 软件支持本软件将在以下环境下编写完成:操作系统:Windows XP professional编程软件:Microsoft Visual C+6.02系统功能运行系统之后,就可以对员工的信息进行添加、查询、修改、删除等操作。3系统性能(1)时间特性要求系统的速度要在用户可接受的范围内,对资源实时搜索的速度可以有较低的要求。(2)可靠性系统要有较高的可靠性,可恢复性。(3)灵活性系统要有良好的接口,以适应增加员工信息录入功能的需求;员工信息的修改、删除、查询等功能。3.1.4运行环境1设备普通pc机。2支持软件操作系统:Windows 98以上系统3.2 系统模块3

17、.2.1功能模块图高校人事管理系统包括8个主要的功能模块,即添加人员模块、修改人员模块、删除人员模块、查找人员模块、统计人员模块、数据存盘级装入模块、显示信息模块。高校人事管理系统模块图如图3-1所示。高校人事管理系统添加人员信息修改人员信息删除人员信息查找人员信息统计人员信息显示所有信息数据存盘数据装入 图3-1药品销售管理系统模块图3.2.2模块功能说明1)添加人员功能该系统中,高校管理人员应该对员工的基本档案信息进行记录存储,这样,在确定好高校人员对象后,才能正确的进行进一步操作动作,如在职人员(行政人员,教师,一般员工),退休人员,返聘人员和临时工.现在,需要存储这些人员的人事档案信息

18、:编号,姓名,性别,年龄,职务,职称,政治面貌,最高学历,任职时间,来院时间。2)修改人员功能高校管理人员可以通过员工的编号进行修改员工的信息。3)删除人员功能管理人员可使用该系统,对高校的人事变动进行相应的调整,删除员工信息。4)查找功能通过该系统,管理人员可以查询员工各项信息。包括按编号查询和按姓名查询两种查询方式。5)显示人员功能通过该系统,高校管理人员可以清晰的查看高校员工的各项信息,如职务、姓名、编号、年龄等。6)数据装入功能系统可以在启动时,导入相应的人员信息;在退出的时候可以导出变化后的人员信息,并保存至硬盘上。7)统计人员功能统计模块功能可以根据多种参数进行人员的统计。这里根据

19、在职人数,党员人数,女工人数,高学历高职称人数四个对象进行统计。8)数据存盘在添加完人员资料后,为了保存所输入的信息,这时需要将数据存盘。3.3 接口设计用户界面:在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化,考虑到用户多对WINDOW 风格较熟悉,应尽量向这一方向靠拢。3.3.1外部接口本系统设有人机操作界面,考虑到操作简单,易于管理方面,主要硬件接口设备为PC,鼠标,键盘。而软件接口主要以windows平台为基本平台。3.3.2内部接口见系统框图,各模块之间相互独立又彼此关联,主要通过函数调用实现各部分的连接。3.4 运

20、行设计3.4.1运行控制软件运行时有较友好的界面,基本能够实现用户的数据处理要求。3.4.2运行时间系统的运行时间基本可以达到用户所提出的要求。3.5 维护设计由于系统较小,没有外加维护模块,因为维护工作比较简单,仅靠数据库的一些基本维护措施即沈阳工程学院课程设计报告 结 论第4章 详细设计4.1类的层次设计4.1.1 person类设计 定义一个person类,包含在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。员工信息包括编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、来院时间。类图如下所示。图4-1“person”类图4.1.2 school类定义一个schoo

21、l类,在里面实现数据的添加、删除、修改、查找、保存、统计、显示和退出。类图如下图4-2所示。图4-2“school”类图4.2 系统界面设计 当首次运行高校人事管理系统软件时会进入主界面。系统主界面如下图4-3所以。图4-3系统主界面4.3 添加与修改设计 4.3.1 添加人员信息 进入主界面后,当输入“1”时便可进入添加员工信息的功能模块。员工信息包括编号,姓名,性别,年龄,职务,职称,政治面貌,最高学历,任职时间,来院时间等基本信息。添加人员功能界面如下图4-4所以。图4-4 添加人员功能图4.3.2 修改人员信息 修改员工信息,顾名思义,就是在已有员工信息的基础上,将错误的信息进行修该的

22、一个模块。系统界面如图4-5所示。图4-5修改人员信息图在输入要修改的编号之后,如果此编号已经存在,则会跳转到把相应的员工被添加后的全部信息显示出来的界面,在输入要修改的员工信息;如果职工号不存在,则提示“没有此人”,系统跳转到主界面。4.4 删除与查询设计 4.4.1 删除人员信息当高校人员发生变动时,原来的员工信息将不再需要,此时需将这类人员的信息删除。所以系统必须具有此模块。当在主菜单中选择删除功能模块对应的数字时,便可进入删除员工信息界面。删除界面如下图4-6所示。图4-6删除人员信息图在删除界面中输入要修删除的员工编号,点击“Enter”按钮,如果该员工数据信息不存在,没有此信息的记

23、录,将提示“要删除的人员不存在”。如果存在,系统将会把相应编号的信息从盘中删除。在界面中使用者可以看到提示信息“编号为此的成员已被删除”。如下图4-7所示。图4-7删除人员信息操作图4.4.2 查询人员信息查询人员信息包括按姓名与按员工编号查找。当输入“查询人员信息”相应的数字时,将进入查询功能。当输入“按姓名查找”相应的数字时,在点Enter键。在下面的文本框中必须输入要查找员工的姓名,否则,将在文件中查找不到此类信息。同样,当选择按员工编号查找时,必须输入要查找的员工的编号。查询界面如图4-8所示。图4-8查询人员信息界面图当用户输入正确的查找信息后,点击“Enter”,将通过文件查找并显

24、示用户要查找的信息。如下图4-9所示。图4-9查找结果图4.5 显示与统计设计4.5.1 显示人员信息当高校管理人员想看所有员工信息时,可以通过显示人员信息功能将全部人员信息显示出来。在系统主界面输入“显示所有信息”相应的数字,就可以实现显示所有信息的功能。显示界面如图4-10所示。图4-10显示界面图4.5.2 统计人员信息 统计模块功能可以根据多种参数进行人员的统计。这里根据在职人数,党员人数,女工人数,高学历高职称人数四个对象进行统计。统计界面如图4-11所示。图4-11统计界面图当要按在职人数进行统计时,输入“在职人数”相应的数字,便可以进行按在职人数进行计。如下图4-12所示。图4-

25、12统计在职人数图如果要按党员人数进行统计时,输入“党员人数”相应的数字,便可以进行按党员人数进行计。如下图4-13所示。图4-13 统计党员人数图当要按女工人数进行统计时,在统计界面输入“女工人数”相应的数字,便可以进行按女工人数进行计。如下图4-14所示。图4-14统计女工人数图如果想要按高学历高职称人数进行统计时,输入“高学历高职称人数”相应的数字,便可以进行按高学历高职称人数进行计。统计界面如下图4-15所示。图4-15统计高学历高职称人数图4.6 数据存盘与装入设计4.6.1 数据存盘在增加完人员资料后,为了保存所输入的信息,这时需要将数据存盘。在主界面中,点击“6.数据存盘”,点击

26、完后,显示“保存数据已经完成”。如下图4-16所示:图4-16数据存盘图4.6.2数据装入在完成数据存盘后,信息将以TXT的格式记录在盘。当重新进入主界面后,要查询到人员的信息,需要数据装入,点击“7.数据装入”,此时会显示“人员和相关数据已经装入,”如下图4-17所示:图4-17数据装入图再点击“4.查询人员信息”,就能显示。如下图4-18所示:图4-18数据装入后查询图第5章 代码与调试5.1 系统主菜单5.1.1主菜单界面部分代码创建主菜单界面。#include#include#include#include#includeperson.h#includeSchool.hvoid mai

27、n() School obj; int c; do /选择界面 couttt高校人事管理系统endl; coutt1.增加人员资料endl; coutt2.删除人员信息endl; coutt3.修改人员信息endl; coutt4.查询人员信息endl; coutt5.统计人员信息endl; coutt6.数据存盘endl; coutt7.数据装入endl;coutt8.显示所有信息endl; coutt9-退出endl;coutc; switch(c) case 1:obj.add(); break; /调用添加函数,添加爱人员 case 2:obj.removedatnum(); brea

28、k; /调用删除函数,删除人员 case 3:obj.upperson(); break; /调用修改函数,修改人员信息 /按选定参数查询 case 4: int nm; coutnm; if(nm=1) obj.find1(); else obj.find2(); ; break; case 5: obj.stat(); break; /调用统计函数,统计人员信息 case 6: obj.save(); break; /调用保存数据函数,数据存盘 case 7: obj.load(); break; /调用载入数据函数,数据装入 case 8: obj.pri(); break; /调用输出

29、函数,显示所有信息到屏幕 while(c!=9);5.2 添加与修改5.2.1 添加部分代码/添加员工函数代码 void add() int i,a,b; person *p1=myfirst; if(p1=NULL) couti; input(i); else if(p1-getnext()=NULL) a=p1-getnum()+1; input(a); else while(p1-getnext()!=NULL) p1=p1-getnext(); b=p1-getnum()+1; input(b); void input(int r) int nage; char ntype20,nna

30、me20,nsex20,ntime120,ntime220,npos20,ntechpos20,nparty20,nstudy20; cout请输入编号为r的成员的信息endl; cout输入职工分类码行政人员,教师,一般员工,退休人员,返聘人员,临时工:ntype; cout输入姓名:nname; cout输入性别:nsex; cout输入年龄:nage; cout参加工作时间:ntime1; cout输入来院时间:ntime2; cout输入职务无,科级,处级,地级:npos; cout输入职称无,初级,中级,高级:ntechpos; cout输入加入党派群众,中共党员,民主党派:npar

31、ty; cout输入学历小学,初中,高中,大专,大学,硕士,博士:nstudy; insertatlast(r,ntype,nname,nsex,nage,ntime1,ntime2,npos,ntechpos,nparty,nstudy); void insertatlast(int nnum,char ntype,char nname,char nsex,int nage,char ntime1,char ntime2,char npos,char ntechpos,char nparty,char nstudy) / / person *next=myfirst; if(next=NUL

32、L) myfirst=new person(nnum,ntype,nname,nsex,nage,ntime1,ntime2,npos,ntechpos,nparty,nstudy); else while(next-getnext()!=NULL) next=next-getnext(); next-setnext(new person(nnum,ntype,nname,nsex,nage,ntime1,ntime2,npos,ntechpos,nparty,nstudy,next-getnext(); 5.2.2 修改部分代码/修改函数功能代码bool upperson() int iid

33、; person *ahead=myfirst; person *follow=ahead; coutiid; if(ahead=NULL) cout无人员信息getnum()=iid) input1(ahead); int nu=-1; for(int i=1;nu!=0;i+) int ml; int mll; char ty30; cout请选择要修改的内容:endl; cout 1:姓名 2:性别 3:年龄 4:职工类型 5:职务endl; cout 6:职称 7:学历 8:政治面貌 9:来院时间 10:参加工作时间endl; coutml; switch(ml) case 1: co

34、utty; strcpy(follow-getname(),ty); ; break; case 2: coutty; strcpy(ahead-getsex(),ty); ; break; case 3: coutmll; ahead-getag(mll); ; break; case 4: coutty; strcpy(ahead-gettype(),ty); ; break; case 5: coutty; strcpy(ahead-getpos(),ty); ; break; case 6: coutty; strcpy(ahead-gettechpos(),ty); ; break; case 7: coutty; strcpy(ahead-getstudy(),ty); ; break; case 8: coutty; strcpy(ahead-getparty(),ty); ; break; case 9: coutty; strcpy(ahead-gettime1(),ty); ;

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号