高校人事管理系统说明书Word下载.docx
《高校人事管理系统说明书Word下载.docx》由会员分享,可在线阅读,更多相关《高校人事管理系统说明书Word下载.docx(33页珍藏版)》请在冰豆网上搜索。
摘要
该人事系统作为信息管理系统的一个分支,已逐渐成为高校信息化建设的重要组成部分,为学校管理全校的院系的教职工提供了一个功能强大、安装部署方便、使用成本低、操作简捷的信息查询管理系统。
实现对数据的增加、查找、修改、删除等操作,并且对异常信息给出错误提示等。
关键字:
添加,删除,修改,读取,显示,查找,统计,保存。
前言
该设计是以计算机与通信学院教师人事管理为背景,设计的一个可以进行简单操作的人事管理系统。
按照任务书的要求,一步步的进行设计,最终基本完成了课程设计的要求,由于本人水平有限,有些高要求还未实现,如图操作早作界面。
人事管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
在这次课程设计中先后使用了TC2.0、VC++6.0等开发工具,最后调试、生成可执行文件等是在VC下进行的。
在这个简单的人事管理程序中,使用了链表这个动态数据结构。
链表是动态数据结构中最简单的一种。
它是一种用前后链指针连接的若干个有限结点的集合,其连接是前一个结点的尾指针指向下一个结点的起始地址,从而连接成的一个链,所以它是一种线性的动态数据结构。
在该程序中,采用了动态存储分配技术,这样可以有效地利用有限的内存空间。
要实现它,就必须使用malloc()和free()函数。
该程序主要使用了链表的插入、删除、查询。
使用链表。
正文
1问题描述
编写一个C++程序,包含高校主要教职工类型,如在职人员(行政人员、教师、一般员工)、退休员工、反聘人员和临时工,同时存储这些人员的人事档案信息:
编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、来院时间等。
为学校管理全校的院系的教职工提供了一个功能强大、安装部署方便、使用成本低、操作简捷的信息查询管理系统。
在系统中能够添加和删除人事变动情况,能够进行修改和查询,并存储运行记录。
2概要设计
2.1系统设计
程序设计的基本目标是用算法对问题的原始数据进行处理,从而获得所期望的效果。
但这仅仅是程序设计的基本要求。
要全面提高程序的质量,提高编程效率,使程序具有良好的可读性、可靠性、可维护性以及良好的结构,编制出好的程序来,应当是每位程序设计工作者追求的目标。
而要做到这一点,就必须掌握正确的程序设计方法和技术。
而C++语言是一种结构化语言。
它层次清晰,便于按模块化方式组织程序,易于调试和维护。
所以采用结构化程序设计方法,对管理系统进行自顶向下,逐步细化,模块化设计.
2.1.1系统分析
高校人事管理系统所需要完成的功能主要有:
人事信息的输入,包括:
编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间等。
人事信息的查询,包括:
人事信息的修改。
添加删除功能:
能根据学院的变动情况,添加删除记录;
保存功能:
能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开。
2.2系统类层次及结构图
定义两个类,一个person类,包含在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。
员工信息包括编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、来院时间。
定义一个school类,在里面实现数据的添加、删除、修改、查找、显示和退出。
类person
voidgetag(intas)
intgetage()
char*getname()
person*getnext()
intgetnum()
char*getparty()
char*getpos()
char*getsex()
char*getstudy()
char*gettechpos()
char*gettime()
char*gettype()
voidsetnext(person*next)
类School
voidadd()//添加新信息
boolfind1()//按编号查找
boolfind2()//按姓名查找
voidload()
voidpri()
voidprintf(intr)//获取信息
voidprintf1(person*ahead)//输出信息
boolremovedatnum()//删除信息
voidsave()//保存文件到文件中
School()//无参构造函数
~School()//析构函数,删除各指针!
boolupperson()//修改信息
类的结构关系图
2.3系统功能模块图
3详细设计
3.1类与对象的设计
类classperson
Schools;
//定义对象
类classSchool
3.1.1类属性的详细设计
classperson
{
private:
intno;
//编号
chartype[20];
//职工类型
charname[20];
//姓名
charsex[10];
//性别
intage;
//年龄
chartime[20];
//来院时间
charpos[20];
//职务
chartechpos[20];
//职称
charparty[20];
//党派
charstudy[30];
//最高学历
person*mynext;
//指针语
public:
person(intnnum,charntype[],charnname[],charnsex[],intnage,charntime[],charnpos[],charntechpos[],charnparty[],charnstudy[])
{
no=nnum;
strcpy(type,ntype);
//将ntype的值复制给type
strcpy(name,nname);
strcpy(sex,nsex);
age=nage;
strcpy(time,ntime);
strcpy(pos,npos);
strcpy(techpos,ntechpos);
strcpy(party,nparty);
strcpy(study,nstudy);
mynext=NULL;
}
person*myfirst;
intfirstnum;
School()//无参构造函数
myfirst=NULL;
//将指针置空
3.1.2类行为的详细设计
4系统测试及结果
1.运行首界面:
2.人员添加及删除人员
3.修改人员及查询人员
总结
通过二星期关于算法与数据结构设计,我从中受益匪浅。
尤其对程序设计的相关知识有了更深一步的认识。
在课设中,我们可以把所学的理论知识和实践联系起来,在所要开发的项目中渐渐成长。
虽然我们对这些程序语言知识运用得还不是很熟练,但是相信我们也在滴水穿石地成长起来。
发现问题,提出问题,然后解决问题,使我们的不足之处得以弥补,寻找新的学习方向。
在此次课程设计中,我设计了一组对人事进行管理的系统,它基本满足工作人员的添加删除功能,查询功能,编辑功能,保存功能以及统计功能。
我感觉更利于用户操作方便,运行简单,从而达到对高校人事更加有效系统管理的目的,并且速度更快内容更直接,达到用户所想要的效果。
此次课程设计中,我一边课设一边探索,发现要把理论和实践充分地结合,达到一个新的水平,不仅仅需要扎实的基本功,而且需要扎实的实际操作训练。
这就表明学好基础知识是理论付诸实践的前提。
在此次课程设计中我对以前的知识巩固许多,也加深了许多,当然在此基础上更是学到了很多新的操作实战技能,希望在以后,学校或者学院能给同学门提供更多关于实际操作这方面的锻炼机会,同学们虽然学了一点基础知识但是我觉得这对于计算机专业的学生是远远不够的。
参考文献
[1]陈维兴,林小茶.c++面向对象程序设计教程.北京:
清华大学出版社,1996.2004.
[2]张国峰.C++程序设计实用教程.北京:
清华大学出版社,1996.
[3]张松梅.C++语言教程.电子科技大学出版社,1993.
[4]阎龙.C程序员的C++指南.北京航空航天大学出版社,1992.
[5]王博.面向对象的建模、设计技术与方法.北京希望电脑公司,1990.
致谢
经过这三周的课设,我们获得了许多在课堂上听课而不能获得的知识,首先我们要感谢学校给我们安排的这次的算法与数据结构设计实习,然后我要感谢张老师对我们热心的指导和帮助,是他教会了我们怎样解决问题的方法,这样我的程序设计才会更加顺利地进行,并且充分掌握了设计程序的方法。
我们还要感谢许多同学的帮助,他们的帮助对于我们来说也是必不可少的。
总之,是有了他的帮助,我才能顺利地完成程序设计,在这里我要向他说一句:
谢谢,非常感谢!
感谢所有帮助过我的老师和同学!
附录-源程序
#include<
iostream.h>
string.h>
fstream.h>
iomanip.h>
//人员类似有数据成员
chartime1[20];
chartime2[20];
c