高校人事管理系统

  • 格式:doc
  • 大小:463.00 KB
  • 文档页数:32

课程设计报告课程名称面向对象程序设计课题名称高校人事管理系统专业通信工程班级通信1101学号2011030201姓名指导教师2012年12 月22 日湖南工程学院课程设计任务书课程名称面向对象程序设计课题高校人事管理系统专业班级通信工程学生姓名学号指导老师审批任务书下达日期2012 年12 月22 日任务完成日期2013 年 1 月 6 日一、设计内容与设计要求1.课程设计目的:面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。

要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。

2.课题题目⑴公司库存管理系统⑵高校学籍管理系统⑶高校工资管理系统⑷高校人事管理系统⑸文件加密管理系统3.设计要求:⑴设计课题题目:第5个课题是扩展课题,有能力完成的同学可以选择。

其余每位同学根据自己学号除以4所得的余数加一选择相应题号的课题。

换题者不记成绩。

⑵根据自己对应的课题完成以下主要工作:①完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。

②完成系统总体设计:包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。

③完成系统详细设计:包括数据库需求分析;类层次图;界面设计与各功能模块实现。

④系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。

⑤使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。

⑥关键源程序(带注释)⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。

⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计二、进度安排第 17 周星期四 14时:00分——18时:00分星期五 19时:分——21时:00分第 18 周星期三 19时:00分——21时:00分星期四 19时:00分——21时:00分三.实验内容课题4:高校人事管理系统(一)、课程设计题目:高校人事管理系统(二)、目的与要求:1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;(4)在系统的设计中,至少要用到面向对象的一种机制。

3、创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。

4、写出设计说明书(三)、设计方法和基本原理:1、问题描述(功能要求):某高校,主要人员有:在职人员(行政人员、教师、一般员工)、退休人员。

现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、级别、职称、政治面貌、最高学历、任职时间、来院时间、工资。

其中行政人员只有职务和级别,教师只有职务和职称,一般员工只有职务,退休人员则没有职务、级别、职称,但有退休时间。

要求:(1)添加删除功能:能根据学院人事的变动情况,添加删除记录;(2)查询功能:能根据编号和姓名进行查询;(3)编辑功能(高级):根据查询对相应的记录进行修改,并存储;(4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数);(5)保存功能:能对输入的数据进行相应的存储,(扩展要求:要求重载插入和提取符以完成数据的保存和打开)。

(6)人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。

2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述(包括属性和方法);(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告以及系统使用说明书。

目录1.系统需求分析 (1)2.总体设计 (2)3.详细设计 (3)3.1 功能提示 (4)3.2 添加人员功能 (5)3.3 查询功能 (7)3.4 统计功能 (9)3.5 编辑功能 (10)4.系统调试 (11)5.结果分析 (12)6.总结 (13)7.附录 (14)1.系统需求分析课题4:高校人事管理系统(一)、课程设计题目:高校人事管理系统(二)、目的与要求:1、目的:(1)要求学生达到熟练掌握C++语言的基本知识和技能;(2)基本掌握面向对象程序设计的基本思路和方法;(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。

2、基本要求:(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;(2)要求在设计的过程中,建立清晰的类层次;(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;(4)在系统的设计中,至少要用到面向对象的一种机制。

3、创新要求:在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。

4、写出设计说明书(三)、设计方法和基本原理:1、问题描述(功能要求):某高校,主要人员有:在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。

现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间。

要求:(1)添加删除功能:能根据学院人事的变动情况,添加删除记录;(2)查询功能:能根据编号和姓名进行查询;(3)编辑功能(高级):根据查询对相应的记录进行修改,并存储;(4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数);(5)保存功能:能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开。

(6)人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。

2、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述(包括属性和方法);(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告以及系统使用说明书。

2.总体设计1.系统功能分析(1)资料维护:系统维护包括对各种表记录的修改、删除、添加等操作。

(2)资料维护:对数据表中的信息进行浏览。

(3)系统查询:可以按职工编号、姓名等相关信息进行详细或模糊查询。

(4)报表统计:包括统计职工编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、基本工资、职称、职务和简历等字段。

(5)其它操作:系统封面、人性化提示信息。

2.系统功能模块划分与设计系统功能模块划分:数据查找与浏览、数据修改、报表显示和系统封面构成。

系统的各个功能大体框架如下:图2.1 系统运行结构框图3.详细设计图3.1 系统功能结构框图3.1当我们运行程序时,会出现如下的功能选择提示界面,代码已经附上。

图3.2 主页面图部分代码如下:{person pjk;int c;cout<<endl;cout<<"---------------------高校人事管理系统-----------------------------"<<endl;cout<<"**"<<endl;cout<<"* 1--添加人员信息并保存*"<<endl;cout<<"* 2--删除人员信息*"<<endl;cout<<"* 3--修改人员信息*"<<endl;cout<<"* 4--查询人员信息*"<<endl;cout<<"* 5--统计人员信息*"<<endl;cout<<"* 6--显示所有信息*"<<endl;cout<<"* 7--退出*"<<endl;cout<<"------------------------------------------------------------------"<<endl;cout<<" 请选择(1-7): "<<endl;cin>>c;switch(c){case 1: pjk.tjry();menu();break;case 2:pjk.shancu();menu(); break;case 6:pjk.output();menu();break;case 7:exit(1);break;}}void main(){menu();}3.2按提示输入序号,当输入1时,会出现要操纵者输入相关信息。

图3.3 添加人员图该图的执行代码如下,新增人员模块,实现新人员的信息添加功能:void person::tjry() //{int v,l=1;char type2[20];char name2[20];char sex2[10];char age2[10];char zhiwu2[20];char zhichen2[20];char zzmm2[20];char zgxl2[20];char rzsj2[20];char lysj2[30];cout<<"请输入要添加的人数"<<endl;cin>>k;p[1].getbianhao()=pp[k1].getbianhao();v=bianhao;for(int i=v+1;i<=v+k;i++){cout<<"请输入第"<<l<<"个人的信息"<<endl;cout<<"人员类型"; cin>>type2;cout<<"姓名:"; cin>>name2;cout<<"性别:"; cin>>sex2;cout<<"年龄:"; cin>>age2;cout<<"职务:"; cin>>zhiwu2;cout<<"职称:"; cin>>zhichen2;cout<<"政治面貌:"; cin>>zzmm2;cout<<"最高学历:"; cin>>zgxl2;cout<<"任职时间:"; cin>>rzsj2;cout<<"来院时间:"; cin>>lysj2;p[i].setperson(type2,name2,sex2,age2,zhiwu2,zhichen2,zzmm2,zgxl2,rzsj2,lysj2);l++;}}3.3图3.4 查询功能图执行代码如下:人员查询模块,本模块提供的查询方式包括按编号和姓名2种,方便用户的查询。