人事管理系统课程设计报告[1]
人事管理系统(数据库课程设计).doc
![人事管理系统(数据库课程设计).doc](https://img.taocdn.com/s3/m/3937b4e826fff705cc170a4b.png)
《数据库》实习报告课题:人事管理系统课程名称:数据库原理及应用学生姓名:学生学号:所在专业:计算机科学与技术所在班级:指导老师:徐龙琴成绩:目录设计总说明 (3)1.人事管理系统概述 (4)1.1研究背景 (4)1.2意义及目的开发 (4)2.系统需求分析 (5)2.1开发环境和软件 (5)2.2系统设计与功能分析 (5)3.数据库设计 (6)3.1 系统概念结构设计 (6)3.1.1系统功能模块图 (6)3.1.2数据流程图 (7)3.2 系统逻辑结构设计 (8)3.3 物理结构设计 (10)3.4 数据库关系图 (11)4.系统模块设计概述 (14)4.1用户登录模块 (14)4.2系统管理模块 (14)4.3信息管理模块 (14)4.4信息查询模块 (15)4.5其他模块 (15)5.系统运行与测试 (16)5.1用户登录 (16)5.2系统管理 (16)5.3信息管理 (17)5.4信息查询 (19)5.5其他模块 (20)5.5.1关于 (20)5.5.2计算器 (20)5.5.3退出 (20)5.6优缺点自我评价 (20)6.课程设计总结 (21)7.附录(代码) (22)参考文献 (35)设计总说明1.设计概况名称:人事管理系统用途:学校等机构功能:实现对员工信息的管理与维护等功能2.设计说明学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。
该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。
用ODBC驱动实现前台Java与后台SQL 数据库的连接。
Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。
SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。
该系统实现的大致功能:系统功能的基本要求:员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。
人事管理系统课程设计实验报告
![人事管理系统课程设计实验报告](https://img.taocdn.com/s3/m/a1e03e162e60ddccda38376baf1ffc4ffe47e2b7.png)
人事管理系统课程设计实验报告本次实验的主题是人事管理系统课程设计,我们团队共同合作,完成了这一任务。
在实验过程中,我们学习了人事管理系统的基本概念、要素以及各种功能模块的设计与实现方法,同时学习了团队协作和项目管理的基本方法。
在实验开始之前,我们对人事管理系统进行了调研。
我们发现,一个好的人事管理系统,需要实现录入员工基本信息、办理员工入职、转正、辞职和离职等流程、管理员工各类信息变更需求、打印员工各种报表和基本工资等。
因此,我们决定开发一款基于Web技术的人事管理系统,可以帮助企业轻松高效地完成人事管理工作。
为了协作开发,我们选择了敏捷开发模式。
在此过程中,我们采用了团队管理平台来协调和追踪每个人的任务,同时也使用了Github来管理源代码的版本和变更,确保所有的代码保持更新。
在系统的设计与实现过程中,我们首先通过自己的分析,完成了用例、流程以及数据分析等文档的编写,制定计划书,确定了开发的任务清单和流程,接下来根据初步的设计确定了主要功能模块,分别为员工管理、客户管理、部门管理、职位管理、权限管理以及系统模块,每个模块的设计都要考虑业务需要和用户操作习惯,结合UI设计进行实现。
在技术的选择方面,我们考虑到Web技术的普及性、易维护性、可扩展性以及跨平台性,最终选择了Spring Boot作为后端框架,MySQL作为数据库,Bootstrap框架进行前端UI设计。
通过本次实验我们发现,敏捷开发模式的使用可以使团队更加高效,让每个人的工作任务更加清晰明确,避免了不必要的沟通,让我们可以更加快速地完成任务;同时,合理的技术方案、严格的流程管理也可以保证系统质量,减少不必要的出错,保证项目的进度。
通过此次实验,我们深刻理解了团队协作、项目管理以及基于Web和数据库的开发技术,更重要的是,我们体验了这些技术的优点和不足,并学到了如何在实际项目中应用这些技术来提高我们的工作效率和效果,我们相信,在今后的项目开发中,这些技能将会大有用处。
公司人事管理系统课程设计
![公司人事管理系统课程设计](https://img.taocdn.com/s3/m/b6d7bd0686c24028915f804d2b160b4e767f81de.png)
公司人事管理系统课程设计一、引言1.1 课程设计背景公司人事管理是一个重要而复杂的系统,它涉及到员工的招聘、培训、绩效评估、薪酬福利等方面。
为了提高人力资源管理的效率和准确性,许多公司已经开始使用计算机系统进行人事管理。
本课程设计将围绕开发公司人事管理系统展开。
1.2 课程设计目标本课程设计旨在设计一个功能完备、操作简单、灵活可扩展的公司人事管理系统。
通过系统的开发与设计,帮助公司更好地管理人力资源,并提高人力资源管理的效率和准确性。
1.3 课程设计内容本课程设计将围绕公司人事管理系统的需求分析、系统设计、系统实现等方面展开。
通过分析人事管理的业务流程、数据结构和功能模块,设计出适合公司实际需求的人事管理系统。
二、需求分析2.1 人事管理的业务流程在设计人事管理系统之前,需要对人事管理的业务流程进行分析。
常见的人事管理流程包括招聘、培训、绩效评估、薪酬福利等环节。
系统需要满足每个环节的具体需求,并能够协调各个环节之间的关系。
2.2 数据结构设计在进行系统设计之前,需要进行数据结构的设计。
人事管理系统需要维护各种员工信息和业务数据,因此需要设计合理的数据结构来存储这些数据。
常见的数据结构包括员工信息表、岗位信息表、招聘信息表、培训信息表等。
2.3 功能模块设计根据需求分析和业务流程,可以确定各个功能模块的设计。
常见的功能模块包括人员管理模块、招聘管理模块、培训管理模块、绩效评估模块、薪酬福利模块等。
每个功能模块需要满足相应的业务需求,并能与其他模块进行协作。
三、系统设计3.1 系统架构设计在进行系统设计之前,需要确定系统的整体架构。
常见的系统架构包括单层架构、两层架构、三层架构等。
根据实际需求,选择合适的系统架构,并对系统进行分层设计,以实现功能的复用和扩展。
3.2 模块设计根据需求分析和功能模块设计,对系统的各个模块进行详细的设计。
每个模块需要包括相应的功能、界面和数据交互方式。
在设计模块时,需要考虑模块之间的依赖关系和接口设计,以实现模块的高内聚和低耦合。
人事管理系统设计报告.doc
![人事管理系统设计报告.doc](https://img.taocdn.com/s3/m/c72bced3f5335a8102d220bc.png)
人事管理系统设计报告1计算机信息处理作业课程设计报告题目人事管理系统姓名学号专业计算机信息管理班级307 指导老师季小明二零零九年十月二十八日目录一、课程设计的目的与要求(2)二、内容(2)2.1系统分析(2)2.1.1 系统开发的背景(2)2.1.2需求分析(3)2.1.3可行性分析 ............................................................... 错误!未定义书签。
2.1.4任务目标 .................................................................. 错误!未定义书签。
2.2系统设计(5)2.2.1系统功能模块设计...................................................... 错误!未定义书签。
2.2.2共用功能模块(6)2.2.3主框架模块 ............................................................... 错误!未定义书签。
2.2.4数据管理模块 ............................................................ 错误!未定义书签。
2.2.5数据查询模块 ............................................................ 错误!未定义书签。
2.2.6数据浏览模块 ............................................................ 错误!未定义书签。
2.3系统数据库设计 ....................................................... 错误!未定义书签。
2.3.1人事管理系统数据流图................................................ 错误!未定义书签。
人事管理系统Java课程设计报告
![人事管理系统Java课程设计报告](https://img.taocdn.com/s3/m/e8c53f0fabea998fcc22bcd126fff705cc175c17.png)
人事管理系统Java课程设计报告第一篇:人事管理系统Java课程设计报告湖南科技大学计算机科学与工程学院数据库课程设计报告题目:人事管理管理系统学号:1005030221 姓名:艾向兵指导教师:张黎完成时间:2012年1月4日组员:苏勇,成佳裕,艾向兵企业人事管理系统主要用于员工个人资料的录入,职务变动的记录和管理。
使用人事管理系统,便于公司领导掌握人员的动向,及时调整人才的分配 1.1系统功能需求分析人事管理系统主要有以下几项功能要求:.新员工资料的输入。
.自动分配员工编号,并且设置初始的用户密码:.人事变动的记载,包括岗位和部门的调整。
.员工信息的查询和修改,包括员工个人信息和密码 1.2 系统功能模块设计根据系统功能要求,可以将系统分解成几个模块来分别设计应用程序界面,如图,人事资源管理包括:新员工档案输入,人事变更,员工档案查询1.3 与其它系统的关系本关系是公司管理信息系统的基础部分,为其他子系统,如考勤管理系统,工资管理系统和员工培训系统,提供员工的基本信息。
同时为其他系统提供了员工登录的密码认证和权限分配。
1.4数据库设计数据库需求分析:员工信息:员工号,密码,权限,姓名,性别,生日,专业,通讯地址,电话,Email,当前状态,其他。
人事变动:记录号,员工,变动,详细描述部门设置:部门编号,名称员工变动代号表员工信息表员工职位代码表管理员登陆界面信息查询,修改,删除主界面查询单个员工的界面总结这次的课程设计,是在学习了Java以后通过阅读课本及在图书馆借阅相关书籍同严景、孟珍三人共同完成的。
在开发这个系统的过程中,碰到很多或大或小的问题,我们一起思考,一起努力,最后大部分都解决了,得到了现在的这个简单的人事管理系统。
在编制过程中,我们首先考虑到了界面的友好性,并在界面设计时不采用烦琐的细节,使界面简单、清晰,便于操作。
一开始我们是想做个登录界面,实现用户的登录权限管理,但试了几次都没有达到预期的效果,最后不得不放弃。
人事管理系统(工资管理子系统)软件工程课程设计报告
![人事管理系统(工资管理子系统)软件工程课程设计报告](https://img.taocdn.com/s3/m/9230d86d941ea76e59fa045b.png)
课程设计报告学生姓名:学号:学院:经济管理学院班级:题目: 人事管理系统工资管理子系统指导教师:职称:20 年月日1.选题背景 (3)2.工资管理子系统需求分析 (3)2.1工资管理子系统需求陈述 (3)2.2需求分析 (4)2.2.1功能需求 (4)2.2.2性能需求 (4)2.3系统需求建模 (5)2.3.1确定参与者 (6)2.3.2确定用例 (6)2.3.3系统用例建模 (6)2.3.4用例描述 (7)3.工资管理系统系统分析 (8)3.1系统用例建模 (9)3.2静态结构模型 (16)3.2.1类的识别 (16)3.2.2类的关联分析 (17)3.3.3类的属性描述 (18)3.3.4类的构建 (19)3.3系统动态模型 (19)3.3.1系统执行顺序分析 (19)3.3.2系统协作分析 (21)3.3.3系统状态分析 (22)3.3.4系统活动分析 (22)4.工资管理系统系统设计与实现 (24)4.1UML体系结构设计 (24)4.1.1硬件体系结构设计 (24)4.1.2软件体系结构设计 (25)4.2对象模型设计 (25)4.3系统实现 (25)4.3.1组件分析 (26)4.3.2配置分析 (28)5.课程设计心得体会 (28)参考文献 (29)1.选题背景随着社会的进步和计算机技术的发展,特别是微型计算机的大范围普及,现在应用在大中型企业的信息管理系统中,几乎都包括了工资管理模块。
有些环境中是有大型ERP软件中的一个模块引进的,有些作为企业的财务系统的一部分。
计算机处理的数据量不断增加。
文件管理系统采用的一次最多存取一个记录的访问方式,以及在不同文件之间缺乏相互联系的结构,越来越不能适应管理大量数据的需要,于是数据库管理系统便应运而生。
有了数据库我们便能方便快捷的对数据进行读取、存取,并维护数据库的数据。
但,西方管理制度设计的工资管理软件,在很多时候还不能完成解决中国特色中小企业的问题,本文介绍的毕业设计的研究工作就是要为这些具有中国特色的中小企业解决他们在工资管理方面的问题。
人事(人力资源)管理信息系统课程设计报告.doc
![人事(人力资源)管理信息系统课程设计报告.doc](https://img.taocdn.com/s3/m/36976a0e33687e21ae45a927.png)
人事(人力资源)管理信息系统课程设计报告. 目录1 引言1 2系统调查与可行性研究3 2.1 初步调查32.2 可行性研究6 3 系统分析8 3.1 业务流程分析8 3.2 数据流程分析83.3 数据字典11 4 系统设计194.1 功能结构设计194.2 数据库设计194.3 代码设计28 4.4 输入输出设计29 4.5系统配置设计30 5 结束语...............................................................38参考文献47 附录48 word 资料.1 引言随着计算机技术的飞速发展,计算机在各种单位机构管理中应用的普及,管理信息系统的开发在强调管理、强调信息的现代社会中也显得越来越重要。
因此,利用计算机支持单位高效率地完成人事管理的日常事务,是适应现代各种单位机构制度要求、推动各种单位机构人事管理走向科学化、规范化的必要条件。
在当今的信息社会,随着信息的不断增长和企业对信息的要求,信息管理技术随之出现。
企业人事管理信息系统是一个现代化的企业在竞争中立于不败之地的必要部分,它能够为查询人事信息提供充足的信息和快捷的查询手段[1]。
一直以来使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,而且容易丢失。
自XXXX年代将计算机引入数据处理以来,历经管理信息系统发展的各个阶段。
一方面是信息技术应用的迅猛发展,另一方面,许多管理信息系统在耗费了大量的人力、物力、财力之后夭折了,或者根本没有实现原系统的开发目标,而把计算机用作了打字机。
这是长期以来困惑人们的一大问题[2]。
现在人们日益深刻认识到,把信息技术应用与应用环境分离是办不到的。
管理信息系统根本不仅是技术系统,而且是社会系统。
使用计算机对企业人事信息进行管理,具有手工管理所无法比拟的优点。
人事管理系统设计报告
![人事管理系统设计报告](https://img.taocdn.com/s3/m/6e494561ec630b1c59eef8c75fbfc77da26997be.png)
人事管理系统设计报告1. 引言人事管理对于企业的正常运营和发展至关重要。
传统的人事管理方式通常会面临着信息不透明、数据不准确、流程冗长等问题。
为了解决这些问题,许多企业正在选择引入人事管理系统。
本文将详细介绍一个人事管理系统的设计和实现。
2. 系统概述人事管理系统是一个基于网络的应用程序,旨在帮助企业优化人力资源管理流程,增强信息的透明度和准确性。
该系统包括以下主要功能模块:•员工信息管理:用于员工档案信息的录入、查询、修改和删除等操作。
•绩效管理:用于设置和评估员工的绩效指标,以及记录和分析员工的绩效表现。
•薪资管理:用于管理和计算员工的薪资,包括薪资发放、社保缴纳、个税计算等。
•考勤管理:用于记录和统计员工的出勤情况,包括请假、加班等。
•培训管理:用于规划和管理员工的培训计划,以及记录培训内容和效果。
•招聘管理:用于发布招聘信息、筛选简历、面试安排等。
•报表统计:用于生成各类人事报表和统计数据。
3. 系统设计3.1 技术架构该人事管理系统采用了以下技术进行设计和实现:•前端技术:使用HTML、CSS、JavaScript等前端技术实现用户界面。
•后端技术:使用Java语言开发后端业务逻辑,采用Spring框架进行开发。
•数据库:使用MySQL数据库存储各类数据。
•网络通信:使用HTTP协议进行前后端的数据传输。
3.2 数据库设计为了存储和管理各类人事信息,系统设计了以下数据库表:•员工表(Employee):用于存储员工的基本信息,包括员工ID、姓名、性别、出生日期、联系方式等字段。
•绩效表(Performance):用于存储员工的绩效信息,包括绩效ID、员工ID、绩效指标、绩效评分等字段。
•薪资表(Salary):用于存储员工的薪资信息,包括薪资ID、员工ID、基本工资、奖金、扣款等字段。
•考勤表(Attendance):用于存储员工的考勤信息,包括考勤ID、员工ID、日期、上班时间、下班时间、请假、加班等字段。
人事管理系统课程设计报告[1]
![人事管理系统课程设计报告[1]](https://img.taocdn.com/s3/m/e23518165b8102d276a20029bd64783e09127d28.png)
MIS课程设计报告二○○三年九月名目一、前言———————————————2二、系统概况—————————————2三、需求分析—————————————2-4四、数据库设计————————————5-7五、主程序清单————————————8六、模块界面—————————————9-11七、设计小结—————————————12前言人事治理是每个企业必不可少的。
人事档案治理系统一般包括对人事档案的统计、查询、更新、报表输出等功能。
要是人工直截了当统计的话,工作量将十分庞大,特别是,要是企业职员有几万或几十万人时,人工统计将变得不可能想象。
用计算机可使人们从繁忙而又单调的统计运算中解脱出来,仅用一些简单的操作便可及时正确地获得需要的信息。
在设计一个系统时,首先要做好需求分析。
合理地运用好VisualFoxPro 的全然方法,建立一个适合企业的人事治理系统。
系统概况一、 课题名称:人事治理系统。
二、 设计环境:开发工具:操作系统:WindowsXP需求分析一、 系统功能分析人事治理系统的要紧任务是对人事档案进行整理,使得能方便快捷地对人事档案进行查询、统计、更新,同时能按一定要求输出报表。
通过该系统,使企业的人事治理工作系统化、标准化、自动化,从而提高企业人事治理的效率。
二、 系统功能模块设计本系统分为如下的几大模块:1、 主界面模块 该模块提供治理系统的主界面,是主系统的唯一进口和出口,该界面提供用户选择并调用各子模块。
2、扫瞄模块该模块提供全部人事档案的界面。
3、查询模块该模块提供查询符合某一条件的人事档案的界面。
4、统计模块该模块提供按某一条件进行统计的界面。
5、编辑模块该模块提供对按档案进行更改、删除和新增的界面。
6、报表模块该模块按一定格式将人事档案以报表格式输出。
三、数据流图1、数据项设计通过需求分析,可确定系统的数据项和数据结构如下:a、人事档案〔编号、姓名、性不、出生年月、联系、住址、籍贯、文化程度、职称、部门、职务、全然工资、简历〕。
人事管理系统实验报告(一)
![人事管理系统实验报告(一)](https://img.taocdn.com/s3/m/54680cceb8d528ea81c758f5f61fb7360b4c2b3f.png)
人事管理系统实验报告(一)引言概述:人事管理系统是一种基于计算机技术的人力资源管理工具,旨在提高组织管理效率和员工满意度。
本实验报告将分析设计并实现一个基础的人事管理系统,并在实际应用中进行测试。
本文将从需求分析、系统设计、技术选型、系统实现和功能测试等五个大点阐述本人事管理系统的开发过程和结果。
需求分析:1.确定系统目标和范围- 定义系统的基本功能和预期效果- 确定系统的适用范围和用户群体2.收集用户需求- 与用户沟通,了解他们的需求和期望- 分析用户反馈和建议,优化系统功能3.功能需求分解- 拆分系统功能,制定详细的功能需求清单- 确定各个功能模块之间的关联和顺序4.确定非功能性需求- 确定系统的性能要求,如响应时间、并发量等- 确定系统的安全性、可靠性和易用性要求5.编写需求规格说明文档- 将以上需求整理成清晰的文档,明确系统的需求和目标系统设计:1.确定系统结构和架构- 确定系统的层次结构和组件划分- 设计系统的主要模块和其相互关系2.数据库设计- 根据需求分析结果,设计数据库的表结构和关系- 建立数据库索引和约束,优化数据库性能3.界面设计- 设计用户界面的布局和交互方式- 优化用户体验,提高系统易用性4.业务流程设计- 分析各个业务流程的规则和逻辑- 设计流程图和状态转换图,明确业务流程5.系统架构优化- 评估系统性能瓶颈和风险点- 采取相应的优化措施,提高系统的效率和稳定性技术选型:1.选择合适的开发语言和技术框架- 分析系统需求和开发规模,选取适合的开发语言- 选择成熟的技术框架和工具,提高开发效率2.数据库选择- 根据系统的需求和数据规模,选择适合的数据库类型- 考虑数据库的性能、安全性和可扩展性3.其他技术组件选择- 根据系统功能需求,选取适合的第三方组件和工具- 考虑组件的稳定性、兼容性和维护支持4.系统集成和部署方案- 设计系统的集成架构和部署拓扑- 选择合适的集成方案和部署工具,确保系统的稳定性和可用性5.技术风险评估- 评估系统开发过程中可能遇到的技术风险- 制定相应的风险应对策略,确保项目的进度和质量系统实现:1.模块划分和开发- 根据系统设计,将功能划分为多个模块- 分别进行模块开发和单元测试,确保功能的正确性2.数据库建模和开发- 根据数据库设计,创建数据库表结构- 开发数据库连接和数据操作代码3.界面开发和优化- 根据界面设计,进行界面开发和交互细节调优- 提供友好的用户操作和良好的交互体验4.业务逻辑开发- 根据需求和业务规则,进行业务逻辑的开发- 实现核心功能,确保系统的业务流程正确性和一致性5.集成测试和性能优化- 对系统进行集成测试,确保各个模块的协调运作- 针对系统的性能瓶颈进行优化,提高系统的性能和稳定性功能测试:1.编写测试用例- 根据需求规格说明书,编写详细的测试用例- 设计充分覆盖各个功能和操作的测试场景2.功能测试执行- 依据测试用例,逐一执行功能测试- 验证系统的功能是否符合预期要求3.异常情况测试- 类比使用者的使用场景,进行异常情况下的测试- 验证系统对异常情况的处理是否正确4.系统稳定性测试- 长时间压力测试系统,验证其在高负载情况下的表现- 检查系统的稳定性和性能是否满足要求5.记录测试结果和问题修复- 记录测试的结果和发现的问题- 对问题进行修复和改进,确保系统的功能和质量达到预期总结:本实验报告中,我们设计并实现了一个基础的人事管理系统,通过对系统需求的分析、系统设计、技术选型、系统实现和功能测试等过程,提高了组织的管理效率和员工满意度。
人事管理系统设计报告
![人事管理系统设计报告](https://img.taocdn.com/s3/m/047da27d366baf1ffc4ffe4733687e21af45ffa6.png)
人事管理系统设计报告
人事管理系统是一个集成了各种人力资源管理功能的软件系统,旨在帮助组织更高效地管理员工信息、薪酬福利、绩效评估、招聘
流程等。
设计人事管理系统需要考虑以下几个方面:
1. 系统架构,人事管理系统的架构应该是稳定、可靠的,能够
支持大量数据的存储和处理。
通常采用客户端-服务器架构或者云端
架构,以确保系统的高可用性和可扩展性。
2. 功能模块,人事管理系统应包括员工信息管理、薪酬福利管理、绩效考核、招聘管理、培训发展等功能模块。
每个模块需要满
足用户需求,提供便捷的操作界面和丰富的功能。
3. 数据管理,系统设计需要考虑数据的安全性和完整性,包括
员工个人信息、薪酬数据、绩效评估结果等敏感信息的加密存储和
权限管理。
4. 用户体验,系统界面设计要简洁清晰,操作流程要合理顺畅,以提升用户体验和工作效率。
5. 技术选型,在设计人事管理系统时需要考虑选择合适的开发语言、数据库、框架等技术,以确保系统的稳定性和可维护性。
总的来说,设计人事管理系统需要综合考虑技术、功能、安全等多个方面,以满足企业对人力资源管理的全面需求。
同时,还需要与实际业务需求充分结合,确保系统设计符合实际应用场景。
C语言课程设计报告—人事管理系统1
![C语言课程设计报告—人事管理系统1](https://img.taocdn.com/s3/m/cf4bf96503020740be1e650e52ea551810a6c99f.png)
人事管理系统前言:现代计算机技术的发展为人们的学习、生活、工作提供了很大的帮助, 各行各业都需要特定计算系统的运用, 我们需要了解这些系统是怎么样为我们服务以及他们是怎样编辑出来的。
我们需要学习C语言编程, 根据课堂讲授内容, 做相应的自主练习, 消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题, 逐渐培养编程能力、用计算机解决实际问题的能力, 能够按照要求编辑一些基本的程序, 提高自己的思维能力。
题目:(1)某高校主要人员有: 在职人员(行政人员、教师、一般员工)、退休人员及临时工。
现在需要储存这些人员的人事档案信息, 内容包括编号、姓名、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间、人员类别。
其中, 人员编号唯一, 不能重复。
(2)添加删除功能:能根据学院人事的变动情况, 添加删除记录。
(3)查询功能: 能根据编号和姓名进行查询。
(4)编辑功能(高级): 根据查询对相应的记录进行修改并记录。
(5)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数, 高学历高职称人数), 统计要求同时显示被统计着的信息。
排序功能: 按照年龄、来院时间进行排序。
保存功能: 能对输入的数据进行相应的存储。
分析:我们编辑的程序要能够满足题目的要求, 可以进行这么多的功能的计算!但是在开始我们运行使用程序的时候必须要知道我们要运用这些功能中的哪一个!这就要求我们可以程序中任意选择我们所需要的功能!很显然我们要编辑存储人员的信息自然要运用到文件!而人员的信息必须要以结构体的形式来表示才能够方便我们提取信息!我们选择了要运行的功能分支之后!这些功能是以主函数以外的被调函数!当有需要时被调函数还可以调用其他的被吊函数!例如我们题目中的统计和查询功能, 就可以用这种方式来编辑程序!方便清楚!设计:很显然主程序要用到SWICTH函数, 这样可以选择要运行的那个功能的函数来执行, 而其他的功能函数则不必运行!三、解题思路1.定义结构struct staff{char num[10];char name[20];char sex[10];int age;char title[20];char p_landscape[30];char Qualifications[30];int Service_time;char come_time[30];char category[30];}staff[100];2.主程序进入主菜单函数void main(){menu();}/*******************主菜单函数**********************/void menu(){char w0;do{system("cls");fflush(stdin); /*清除缓冲区输入*/puts("***********************高校人事管理系统**********************\n\n");puts("\t\t\t\t1)增加人员信息\n"); puts("\t\t\t\t2)删除人员信息 \n"); puts("\t\t\t\t3)查询人员信息\n"); puts("\t\t\t\t4)修改人员信息\n"); puts("\t\t\t\t5)统计人员信息\n"); puts("\t\t\t\t6)对人员排序\n");puts("\t\t\t\t7)保存人员信息\n"); puts("\t\t\t\t8)浏览人员信息\n"); puts("\t\t\t\t9)退出\n");printf("\t\t\t\t 请选择 [ ]\b\b"); w0=getchar();}while(w0<'1'||w0>'9'); switch(w0-48){case 1:add();break;case 2:delete_data();break;case 3:search();break;case 4:modify();break; case 5:stastic();break;case 6:sort();break;case 7:save();break;case 8:browse();break;case 9:break;} }(1)查询功能int search_data()/*{int i,flag; char s[30],w0;system("cls");/*清屏*/ n=load(); do{fflush(stdin); /*清除缓冲区输入*/printf(" 通过1)编号 2)姓名 [ ]\b\b"); w0=getchar(); }while(w0<'1'||w0>'2'); if(w0=='1'){/*按编号查找*/ flag=0;puts("输入人员编号:"); scanf("%s",s); for(i=0;i<n;i++){if(strcmp(s,staff[i].num)==0){printf_face();printf_one(staff[i]); flag=1;break;} else continue; }if(flag==0)puts("该人员不存在!"); }else {/*按姓名查找*/ flag=0;puts("输入人员姓名:"); scanf("%s",s); for(i=0;i<n;i++){if(strcmp(s,staff[i].name)==0){printf_face();printf_one(staff[i]);flag=1;break;}else continue;}if(flag==0) puts("该人员不存在!");}return i;void search(){int k;char w1;loop: k=search_data();do{fflush(stdin); /*清除缓冲区输入*/printf("1)回主菜单 2)退出 3)继续查询 [ ]\b\b"); w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1')menu();else if(w1=='2')exit(0);void add(){char w0,w1;loop: system("cls");puts("请输入编号(如001):");scanf("%s",s.num);if(test(s.num))goto loop;/*编号重复*/puts("请输入姓名:");scanf("%s",);puts("请输入性别(男,女):");scanf("%s",s.sex);puts("请输入年龄:");scanf("%d",&s.age);puts("请输入职务(教授副教授讲师助教学生后勤人员):");scanf("%s",s.duty);puts("请输入职称 (无初级高级 ):");scanf("%s",s.title);puts("请输入政治面貌( 党员非党员 ):");scanf("%s",s.p_landscape);puts("请输入最高学历(小学初中高中大学硕士学位更高):");scanf("%s",s.Qualifications);puts("请输入任职时间:");scanf("%d",&s.Service_time);puts("请输入来院时间(如20050101):");scanf("%s",e_time);puts("请输入人员类别(行政人员教师一般员工退休人员临时工):");scanf("%s",s.category);do{fflush(stdin); /*清除缓冲区输入*/printf("是否保存?1)是 2)否 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');switch(w0){case 1:save(s);break;case 2:break;}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续增加人员信息 2)回主菜单 3)退出 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1')goto loop;else if(w1=='2')menu();else exit(0);}(3)保存信息void save(){char w0;save_all();printf("所有信息已保存!\n");do{fflush(stdin); /*清除缓冲区输入*/printf("1) 回主菜单 2) 退出 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1')menu();else exit(0);}void save_all()/*保存所有数据函数*/{int i;FILE *fp;if((fp=fopen("text.txt","wb"))==NULL){printf("无法打开文件!");exit(0);}for(i=0;i<n;i++){if(staff[i].age!=0)fprintf(fp,"%s %s %s %d %s %s %s %s %d %s %s\n",staff[i].num,staff[i].name, staff[i].sex,staff[i].age,staff[i].duty,staff[i].title,staff[i].p_landscape,sta ff[i].Qualifications,staff[i].Service_time,staff[i].come_time,staff[i].category );else continue;}fclose(fp);}(4)删除人员void delete_data(){int k; char w0,w1;loop: k=search_data();if(k<n){do{fflush(stdin); /*清除缓冲区输入*/printf("确认要删除该人员信息? 1)是 2)否 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1'){staff[k].age=0;save_all();puts("该人员信息已被删除!");} } do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续删除数据 2)回主菜单 3)退出w1=getchar();}while(w1<'1'||w1>'3'); if(w1=='1') goto loop; else if(w1=='2')menu(); else exit(0); }(5)修改人员信息 void modify() {int k=0,w0,g; char h[30],w1,w2; loop: g=search_data(); if(g<n){ do{puts("\t\t\t 修改: 1)编号"); puts("\t\t\t 2)姓名"); puts("\t\t\t 3)性别"); puts("\t\t\t 4)年龄"); puts("\t\t\t 5)职务"); puts("\t\t\t 6)职称"); puts("\t\t\t 7)政治面貌"); puts("\t\t\t 8)最高学历"); puts("\t\t\t 9)任职时间"); puts("\t\t\t 10)来院时间"); puts("\t\t\t 11)人员类别"); printf(" 请选择 : [ ]\b\b"); scanf("%d",&w0);}while(w0<1||w0>11); switch(w0){case 1:puts("请输入新编号:");scanf("%s",h);strcpy(staff[g].num,h);break; case 2:puts("请输入姓名:");scanf("%s",h);strcpy(staff[g].name,h);break; case 3:puts("请输入性别:");scanf("%s",h);strcpy(staff[g].sex,h);break; case 4:puts("请输入年龄:");scanf("%d",&k);staff[g].age=k;break; case 5:puts("请输入职务:");scanf("%s",h);strcpy(staff[g].duty,h);break; case 6:puts("请输入职称:");scanf("%s",h);strcpy(staff[g].title,h);break;scanf("%s",h);strcpy(staff[g].p_landscape,h);break;case 8:puts("请输入最高学历:");scanf("%s",h);strcpy(staff[g].Qualifications,h);break;case 9:puts("请输入任职时间:");scanf("%d",&k);staff[g].Service_time=k;break;case 10:puts("请输入来院时间:");scanf("%s",h);strcpy(staff[g].come_time,h);break;case 11:puts("请输入人员类别:");scanf("%s",h);strcpy(staff[g].category,h);break;}do{fflush(stdin); /*清除缓冲区输入*/printf("是否保存?1)保存 2)否[ ]\b\b");w1=getchar();}while(w1<'1'||w1>'2');if(w1=='1'){save_all(); puts("保存修改成功!");}}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续修改 2)回主菜单 3)退出[ ]\b\b");w2=getchar();}while(w2<'1'||w2>'3');if(w2=='1')goto loop;else if(w2=='2')menu();else exit(0);}(6)统计人员信息void stastic(){int i,count;char w0,w1;n=load();if(n==0){puts("没有数据!");getchar();menu();}loop: system("cls");do{fflush(stdin); /*清除缓冲区输入*/printf("通过1)在职人员 2)党员\n");printf(" 3)女工人数 4)最高学历 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'4');if(w0=='1'){/*统计在职人员*/printf_face();for(i=0,count=0;i<n&&staff[i].age;i++)if(strcmp(staff[i].category,"退休人员")!=0&&strcmp(staff[i].category,"临时工")!=0){count++; printf_one(staff[i]);} printf("\t\t\t\t 共有%d 条记录",count); }else if(w0=='2'){/*统计党员*/ printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].p_landscape,"党员count++; printf_one(staff[i]);} printf("\t\t\t\t 共有%d 条记录",count);}else if(w0=='3'){/*统计女工人员*/ printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].sex,"女")==0){count++; printf_one(staff[i]);}printf("\t\t\t\t 共有%d 条记录",count);}else {/*统计高学历人员*/printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].Qualifications,"硕士学位")==0||strcmp(staff[i].Qualifications,"更高")==0){count++; printf_one(staff[i]);} printf("\t\t\t\t 共有%d 条记录",count);} do{fflush(stdin); /*清除缓冲区输入*/printf("\n1)继续统计 2)回主菜单 3)退出 [ ]\b\b"); w1=getchar();}while(w1<'1'||w1>'3'); if(w1=='1') goto loop; else if(w1=='2')menu(); else exit(0); }(6) 排序功能void sort() {int i,j;char w0,w1; struct staff s1; loop: n=load();system("cls"); do{fflush(stdin); /*清除缓冲区输入*/printf("通过 1)年龄 2)来院时间w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1'){/*按年龄排序*/for(i=0;i<n-1;i++)/*选择法排序*/for(j=i+1;j<n;j++)if(staff[i].age>staff[j].age){s1=staff[i];staff[i]=staff[j];staff[j]=s1;}}else {/*按来院时间排序*/for(i=0;i<n-1;i++)/*选择法排序*/for(j=i+1;j<n;j++)if(strcmp(staff[i].come_time,staff[j].come_time)>0){s1=staff[i];staff[i]=staff[j];staff[j]=s1;}}printf_face();for(i=0;i<n;i++) /*显示排序结果*/printf_one(staff[i]);do{fflush(stdin); /*清除缓冲区输入*/printf("\n1)回主菜单 2)继续排序 3)退出[ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1') menu();else if(w1=='2')goto loop;else exit(0);}四、运行与测试报告*********************************高校人事管理系统******************************1)增加人员信息2)删除人员信息3)查询人员信息4)修改人员信息5)统计人员信息6)对人员排序7)保存人员信息8)浏览人员信息9)退出请选择【 1】请输入编号(如001):20071003335请输入姓名:majianbo请输入性别(男,女):nan请输入年龄:20请输入职务(教授副教授讲师助教学生后勤人员): jiaoshou请输入职称 (无初级高级 ):gaoji请输入政治面貌( 党员非党员 ):danyuan请输入最高学历(小学初中高中大学硕士学位更高): shuoshi请输入任职时间:20070901请输入来院时间(如20050101):20070901请输入人员类别(行政人员教师一般员工退休人员临时工): jiaoshi是否保存?1)是 2)否 [1]该信息已成功保存!1)继续增加人员信息 2)回主菜单 3)退出 [ ]程序:#include<stdlib.h>#include <stdio.h>#include <string.h>struct staff/*定义结构体*/{char num[10];/*编号*/char name[20];/*姓名*/char sex[10];/*性别*/int age;/*年龄*/char duty[20];/*职务*/char title[20];/*职称*/char p_landscape[30];/*政治面貌*/char Qualifications[30];/*学历*/int Service_time;/*任职时间*/char come_time[30];/*来院时间*/char category[30];/*人员类别*/}staff[100];struct staff s;int n;void menu();void printf_face()/*显示数据结构项目函数*/{printf("编号姓名性别年龄职务职称政治面貌学历任职时间来院时间人员类别\n");}void printf_one(struct staff p)/*输出单个数据函数*/{printf("%-4s%-7s%-5s%-3d%-7s%-5s%-8s%-12s%-5d%-12s%-3s\n",p.num,,p.se x,p.age,p.duty,p.title,p.p_landscape,p.Qualifications,p.Service_time,e_tim e,p.category);}int load()/*加载函数*/{int i=0;FILE *fp;if((fp=fopen("text.txt","rb"))==NULL){return 0; exit(0);}for(i=0;!feof(fp);i++){ /*输出数据到结构体*/fscanf(fp,"%s %s %s %d %s %s %s %s %d %s %s\n",staff[i].num,staff[i].name,staff [i].sex,&staff[i].age,staff[i].duty,staff[i].title,staff[i].p_landscape,staff[i ].Qualifications,&staff[i].Service_time,staff[i].come_time,staff[i].category);} fclose(fp);return i;}int search_data()/*查找单个数据函数*/{int i,flag;char s[30],w0;system("cls");/*清屏*/n=load();do{fflush(stdin); /*清除缓冲区输入*/printf(" 通过1)编号 2)姓名 [ ]\b\b");w0=getchar(); }while(w0<'1'||w0>'2');if(w0=='1'){/*按编号查找*/flag=0;puts("输入人员编号:");scanf("%s",s);for(i=0;i<n;i++){if(strcmp(s,staff[i].num)==0){printf_face();printf_one(staff[i]);flag=1;break;}else continue;}if(flag==0)puts("该人员不存在!");}else {/*按姓名查找*/flag=0;puts("输入人员姓名:");scanf("%s",s);for(i=0;i<n;i++){if(strcmp(s,staff[i].name)==0){printf_face();printf_one(staff[i]);flag=1;break;}else continue;}if(flag==0) puts("该人员不存在!");}return i;}void save_all()/*保存所有数据函数*/{int i;FILE *fp;if((fp=fopen("text.txt","wb"))==NULL){printf("无法打开文件!");exit(0);}for(i=0;i<n;i++){if(staff[i].age!=0)fprintf(fp,"%s %s %s %d %s %s %s %s %d %s %s\n",staff[i].num,staff[i].name, staff[i].sex,staff[i].age,staff[i].duty,staff[i].title,staff[i].p_landscape,sta ff[i].Qualifications,staff[i].Service_time,staff[i].come_time,staff[i].category );else continue;}fclose(fp);}int test(char h[10])/*检查编号是否重复*/{int i;n=load();for(i=0;i<n;i++)if(strcmp(h,staff[i].num)==0){puts("输入的编号有重复!请重新输入编号!");system("pause");return 1;}return 0;}void single_save(struct staff p)/*保存单个数据函数*/{FILE *fp;if((fp=fopen("text.txt","ab+"))==NULL){printf("无法打开文件!");exit(0);}fprintf(fp,"%s %s %s %d %s %s %s %s %d %s %s\n",p.num,,p.sex,p.age,p.duty ,p.title,p.p_landscape,p.Qualifications,p.Service_time,e_time,p.category);printf("该信息已成功保存!\n");fclose(fp);}/*********************************修改模块**********************************/ void modify(){int k=0,w0,g;char h[30],w1,w2;loop: g=search_data();if(g<n){do{puts("\t\t\t修改: 1)编号");puts("\t\t\t 2)姓名");puts("\t\t\t 3)性别");puts("\t\t\t 4)年龄");puts("\t\t\t 5)职务");puts("\t\t\t 6)职称");puts("\t\t\t 7)政治面貌");puts("\t\t\t 8)最高学历");puts("\t\t\t 9)任职时间");puts("\t\t\t 10)来院时间");puts("\t\t\t 11)人员类别");printf(" 请选择 : [ ]\b\b");scanf("%d",&w0);}while(w0<1||w0>11);switch(w0){case 1:puts("请输入新编号:");scanf("%s",h);strcpy(staff[g].num,h);break;case 2:puts("请输入姓名:");scanf("%s",h);strcpy(staff[g].name,h);break;case 3:puts("请输入性别:");scanf("%s",h);strcpy(staff[g].sex,h);break;case 4:puts("请输入年龄:");scanf("%d",&k);staff[g].age=k;break;case 5:puts("请输入职务:");scanf("%s",h);strcpy(staff[g].duty,h);break;case 6:puts("请输入职称:");scanf("%s",h);strcpy(staff[g].title,h);break;case 7:puts("请输入政治面貌:");scanf("%s",h);strcpy(staff[g].p_landscape,h);break;case 8:puts("请输入最高学历:");scanf("%s",h);strcpy(staff[g].Qualifications,h);break;case 9:puts("请输入任职时间:");scanf("%d",&k);staff[g].Service_time=k;break;case 10:puts("请输入来院时间:");scanf("%s",h);strcpy(staff[g].come_time,h);break;case 11:puts("请输入人员类别:");scanf("%s",h);strcpy(staff[g].category,h);break;}do{fflush(stdin); /*清除缓冲区输入*/printf("是否保存?1)保存 2)否[ ]\b\b");w1=getchar();}while(w1<'1'||w1>'2');if(w1=='1'){save_all(); puts("保存修改成功!");}}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续修改 2)回主菜单 3)退出[ ]\b\b");w2=getchar();}while(w2<'1'||w2>'3');if(w2=='1')goto loop;else if(w2=='2')menu();else exit(0);}/************************保存模块******************************/void save(){char w0;save_all();printf("所有信息已保存!\n");do{fflush(stdin); /*清除缓冲区输入*/printf("1) 回主菜单 2) 退出 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1')menu();else exit(0);}/*************************查找模块*****************************/ void search(){int k;char w1;loop: k=search_data();do{fflush(stdin); /*清除缓冲区输入*/printf("1)回主菜单 2)退出 3)继续查询 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1')menu();else if(w1=='2')exit(0);else goto loop;}/***************************增加模块*****************************/ void add(){char w0,w1;loop: system("cls");puts("请输入编号(如001):");scanf("%s",s.num);if(test(s.num))goto loop;/*编号重复*/puts("请输入姓名:");scanf("%s",);puts("请输入性别(男,女):");scanf("%s",s.sex);puts("请输入年龄:");scanf("%d",&s.age);puts("请输入职务(教授副教授讲师助教学生后勤人员):");scanf("%s",s.duty);puts("请输入职称 (无初级高级 ):");scanf("%s",s.title);puts("请输入政治面貌( 党员非党员 ):");scanf("%s",s.p_landscape);puts("请输入最高学历(小学初中高中大学硕士学位更高):");scanf("%s",s.Qualifications);puts("请输入任职时间:");scanf("%d",&s.Service_time);puts("请输入来院时间(如20050101):");scanf("%s",e_time);puts("请输入人员类别(行政人员教师一般员工退休人员临时工):");scanf("%s",s.category);do{fflush(stdin); /*清除缓冲区输入*/printf("是否保存?1)是 2)否 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');switch(w0-48){case 1:single_save(s);break;case 2:break;}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续增加人员信息 2)回主菜单 3)退出 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1')goto loop;else if(w1=='2')menu();else exit(0);}/*******************************删除模块*****************************/void delete_data(){int k; char w0,w1;loop: k=search_data();if(k<n){do{fflush(stdin); /*清除缓冲区输入*/printf("确认要删除该人员信息? 1)是 2)否 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1'){staff[k].age=0;save_all();puts("该人员信息已被删除!");}}do{fflush(stdin); /*清除缓冲区输入*/printf("1)继续删除数据 2)回主菜单 3)退出 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1') goto loop;else if(w1=='2')menu();else exit(0);}/********************************统计模块*******************************/void stastic(){int i,count;char w0,w1;n=load();if(n==0){puts("没有数据!");getchar();menu();}loop: system("cls");do{fflush(stdin); /*清除缓冲区输入*/printf("通过1)在职人员 2)党员\n");printf(" 3)女工人数 4)最高学历 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'4');if(w0=='1'){/*统计在职人员*/printf_face();for(i=0,count=0;i<n&&staff[i].age;i++)if(strcmp(staff[i].category,"退休人员")!=0&&strcmp(staff[i].category,"临时工")!=0){count++; printf_one(staff[i]);}printf("\t\t\t\t共有%d条记录",count);}else if(w0=='2'){/*统计党员*/printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].p_landscape,"党员")==0){count++; printf_one(staff[i]);}printf("\t\t\t\t共有%d条记录",count);}else if(w0=='3'){/*统计女工人员*/printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].sex,"女")==0){count++; printf_one(staff[i]);}printf("\t\t\t\t共有%d条记录",count);}else {/*统计高学历人员*/printf_face();for(i=0,count=0;i<n;i++)if(strcmp(staff[i].Qualifications,"硕士学位")==0||strcmp(staff[i].Qualifications,"更高")==0){count++; printf_one(staff[i]);}printf("\t\t\t\t共有%d条记录",count);}do{fflush(stdin); /*清除缓冲区输入*/printf("\n1)继续统计 2)回主菜单 3)退出 [ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1') goto loop;else if(w1=='2')menu();else exit(0);}/*******************************排序模块***********************************/ void sort(){int i,j;char w0,w1;struct staff s1;loop: n=load();system("cls");do{fflush(stdin); /*清除缓冲区输入*/printf("通过 1)年龄 2)来院时间 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1'){/*按年龄排序*/for(i=0;i<n-1;i++)/*选择法排序*/for(j=i+1;j<n;j++)if(staff[i].age>staff[j].age){s1=staff[i];staff[i]=staff[j];staff[j]=s1;}}else {/*按来院时间排序*/for(i=0;i<n-1;i++)/*选择法排序*/for(j=i+1;j<n;j++)if(strcmp(staff[i].come_time,staff[j].come_time)>0){s1=staff[i];staff[i]=staff[j];staff[j]=s1;}}printf_face();for(i=0;i<n;i++) /*显示排序结果*/printf_one(staff[i]);do{fflush(stdin); /*清除缓冲区输入*/printf("\n1)回主菜单 2)继续排序 3)退出[ ]\b\b");w1=getchar();}while(w1<'1'||w1>'3');if(w1=='1') menu();else if(w1=='2')goto loop;else exit(0);}/********************************浏览模块**************************************/void browse(){int i;char w0;n=load();system("cls");printf_face();for(i=0;i<n ;i++)printf_one(staff[i]);printf("\t\t\t\t共有%d条人员记录\n",n);do{fflush(stdin); /*清除缓冲区输入*/printf(" 1)回主菜单 2)退出 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'2');if(w0=='1') menu();if(w0=='2') exit(0);}/********************************主菜单函数*************************************/void menu(){char w0;do{system("cls");fflush(stdin); /*清除缓冲区输入*/puts("*********************************高校人事管理系统*******************************\n\n");puts("\t\t\t\t1)增加人员信息\n");puts("\t\t\t\t2)删除人员信息 \n");puts("\t\t\t\t3)查询人员信息\n");puts("\t\t\t\t4)修改人员信息\n");puts("\t\t\t\t5)统计人员信息\n");puts("\t\t\t\t6)对人员排序\n");puts("\t\t\t\t7)保存人员信息\n");puts("\t\t\t\t8)浏览人员信息\n");puts("\t\t\t\t9)退出\n");printf("\t\t\t\t请选择 [ ]\b\b");w0=getchar();}while(w0<'1'||w0>'9');switch(w0-48){case 1:add();break;case 2:delete_data();break;case 3:search();break;case 4:modify();break;case 5:stastic();break;case 6:sort();break;case 7:save();break;case 8:browse();break;case 9:break;}}/***********************************主函数****************************************/void main(){menu();}。
人事管理系统设计报告
![人事管理系统设计报告](https://img.taocdn.com/s3/m/21eeece2370cba1aa8114431b90d6c85ec3a8886.png)
人事管理系统设计报告人事管理系统是企业管理中不可或缺的一部分,其主要功能是帮助企业管理人员实现对员工信息的存储、分析和管理,包括员工档案、工资、考勤、培训、绩效评估等方面。
本文将对一款人事管理系统进行设计报告,以高效、安全、可靠的方式完成企业人事管理的相关工作。
一、需求分析在进行系统设计时,首先需要进行需求分析,确定系统应该具备哪些功能,以及对功能的具体要求。
本系统需求分析的主要功能模块如下:1.员工档案:包括个人信息、教育背景、工作经历、员工合同、劳动合同等;2.工资管理:包括工资档案、实时工资查询、工资统计、考勤统计等;3.考勤管理:包括请假管理、加班管理、签到管理等;4.培训管理:包括培训计划、培训记录、培训考核等;5.绩效评估:包括绩效考核统计、个人绩效评估、绩效考核报表等;6.权限管理:包括管理员、普通用户权限管理、访问权限管理等。
二、系统架构设计本系统主要分为前台和后台两部分,前台主要功能是提供给员工使用,包括员工个人信息查询、档案查询、工资查询、考勤查询、请假管理、加班管理等;后台主要面向企业管理人员使用,包括员工档案管理、工资管理、考勤管理、培训管理、绩效评估管理等。
1.前台架构设计前台采用浏览器/移动客户端访问,用户使用浏览器/移动客户端输入账号密码进行登录,之后可以根据权限查看个人信息、工资条、考勤记录、请假详情等。
前台主要采用HTML+CSS+JS技术实现网页布局、交互效果,同时采用Ajax技术实现数据异步加载,提高操作体验和速度。
2.后台架构设计后台采用Java Web技术,基本框架为Spring+MyBatis,采用三层架构模式,分别为表现层、服务层、DAO层,服务层负责业务逻辑处理,DAO层负责数据库访问和记录查询操作。
后台采用MySQL数据库,将用户、员工、工资、考勤等信息存储在数据库中,并通过Java Web提供API接口供前台访问和调用。
三、详细设计1.员工档案设计员工档案包括个人信息、工作经历、员工合同、劳动合同等。
人事管理系统课程设计实验报告(doc 59页)
![人事管理系统课程设计实验报告(doc 59页)](https://img.taocdn.com/s3/m/0fd1b6c56c175f0e7dd13735.png)
人事管理系统课程设计实验报告(doc 59页)华北水利水电学院软件工程实验报告2012~2013学年第一学期2011 级专业计算机科学与技术班级2011179 学号2011179 姓名一、实验题目:人事管理系统的需求分析二、实验内容:(具体说明实验的主要内容)人事管理系统的需求分析1 引言1.1编写目的本文编写目的在于使用户和软件开发者双方对该软件的初始规定有一个共同的理解,规定和控制项目开发的内容,保证本项目的需求分析活动在受控状态下进行,在进行软件开发前,明确本系统应达到的目标,对系统目标做出完整、准确、清晰、具体的要求。
保证本需求分析的结果能够完整、无遗漏地反映本系统的要求。
1.2产品范围●产品说明:人事管理系统是非常通用的管理信息系统,是企业单位实现办公自动化的前提和基础。
●目标:帮助企业以自动化的方式来取代现有的人工管理以便于该厂领导掌握人员的动向,及时高速人才的分配。
从而减少企业在这方面所花费的人力、物力和财力。
●适用范围:可应用于大部分企业之中。
1.3定义○人事管理: 所谓人事管理,是指以从事社会劳动的人和有关的事的相互关系为对象,通过组织,协调,控制,监督等手段,谋求人与事以示共事人之间的相互适应,实现充分发挥人的潜能,把事情做得更好这一目标所进行的管理活动。
○ SQLSERVER:开发系统使用的数据库名称《软件工程》(第二版) 邓良松西安电子科技大学出版社《软件工程导论》(第四版)张海藩清华大学出版社《软件工程基础》汤淮西安交通大学出版社《软件开发技术》倪秉营电子科技大学出版社《软件工程》张权范清华大学出版社2 综合描述2.1背景.A. 开发的软件系统名称:××有限责任公司人事管理系统B. 本项目的任务提出者:××有限责任公司开发者:用户:××有限责任公司实现该软件的计算中心:个人计算机,Sql Server ,WindowXP,Win7操作系统;C. 该软件系统同其他系统或其他机构的基本的相互来往关系:该软件系统与2.2 用户的特点●普通用户:会最基本的电脑操作,可以查看自己的资料和关于自己请假、加班、考勤、薪资等各种有关信息,也可以修改自己的基本信息。
公司人事管理系统课程设计
![公司人事管理系统课程设计](https://img.taocdn.com/s3/m/0e42537fe55c3b3567ec102de2bd960590c6d932.png)
公司人事管理系统课程设计一、设计背景随着企业规模的不断扩大,人员数量的增加,传统的人力资源管理方式已经无法满足企业的需求。
因此,建立一套完整的公司人事管理系统势在必行。
本次课程设计旨在通过设计和实现一个公司人事管理系统,帮助企业实现对员工信息、考勤、薪资等方面进行全面管理。
二、需求分析1. 员工信息管理- 员工基本信息:包括姓名、性别、出生日期、籍贯、住址等。
- 员工联系方式:包括电话号码、邮箱地址等。
- 员工学历信息:包括学历类型、毕业时间等。
- 员工职称信息:包括职称名称、获得时间等。
- 员工岗位信息:包括岗位名称、入职时间等。
2. 考勤管理- 考勤记录:记录员工每天的上班和下班时间。
- 考勤异常处理:处理员工请假申请和迟到早退情况。
3. 薪资管理- 工资结算:根据考勤记录计算每个员工的月薪。
- 工资发放:将计算好的月薪发放给每个员工。
4. 权限管理- 系统管理员:具有最高权限,可以对系统进行管理和维护。
- 部门管理员:可以对本部门员工信息、考勤记录、薪资等进行管理。
- 普通员工:只能查看自己的信息、考勤记录和薪资。
三、系统设计1. 技术选型本系统采用B/S架构,前端使用HTML、CSS和JavaScript技术,后端使用Java语言和MySQL数据库。
2. 系统模块设计本系统分为员工信息管理模块、考勤管理模块、薪资管理模块和权限管理模块。
3. 数据库设计本系统共设计了5张表:员工信息表、考勤记录表、职称信息表、部门信息表和用户权限表。
四、系统实现1. 员工信息管理模块- 员工基本信息的录入与修改。
- 员工联系方式的录入与修改。
- 员工学历信息的录入与修改。
- 员工职称信息的录入与修改。
- 员工岗位信息的录入与修改。
2. 考勤管理模块- 考勤记录的添加与修改。
- 考勤异常处理功能的实现。
3. 薪资管理模块- 工资结算功能的实现。
- 工资发放功能的实现。
4. 权限管理模块- 系统管理员的添加与修改。
数据库课程设计报告人事管理系统范本
![数据库课程设计报告人事管理系统范本](https://img.taocdn.com/s3/m/530f1bbdddccda38366baf0c.png)
数据库课程设计报告人事管理系统课程设计报告课程设计题目:人事管理系统姓名:学号:班级:指导教师:年1月15日一.题目分析:人事管理系统是企、事业单位常见的计算机信息管理系统。
它的主要任务是对各种人事信息进行日常的信息管理,如人员信息的输入、查询、修改、增加、删除,迅速准确地完成各种人员信息的统计计算和汇总,快速打印出报表。
在建立与实现人事管理系统时,进行了功能划分,能够由数据库管理系统完成的功能应尽可能由数据库管理系统守成,充分发挥数据库管理系统高效、完全、可靠、便捷的性能,减少编程人员的工作量。
工资管理系统是数据库管理系统的一个比较典型的应用,前台使用的是微软的VB6.0,后台数据库采用Microsoft SQL Sever数据库。
运行结果证明,本人事管理系统极大提高了工作效率,节省了人力和物力,自重满足企业员工管理的需要。
人事管理系统的主要任务是用计算机对各种员工信息进行日常的管理,如查询、修改、添加、删除以及存储等,迅速准确地完成各种员工信息的统计计算和汇总工作,针对系统服务对象的具体要求,设计了人事管理系统。
人事管理系统主要有以下几大功能:(1)对单位人员的变动进行处理。
一个单位的职工不会是一成不变的,总是在不断的变化:有调出、有调入、也有职工在本单位内部调动。
因此,设计系统是应考虑到这些情况。
(2)对职工的工资进行计算、修改。
能够对职工的工资档案进行个别、部分和批量修改,同时,能对各职工的工资进行计算,即计算基本工资、岗位工资、水电费及实发金额等。
(3)查询统计功能。
要求即能够单项查询,比如查看某个职工的就职情况等;也能够多项查询,比如某个部门所有的员工的工资信息。
二.设计分析:1,数据表的设计:(1)基本信息表:键名称数据类型大小空默认值主键员工编号char 8 Not null姓名char 8 Not null性别char 2 null “男”出生年月datetime 8 null外键所属部门char 4 null文化程度char 4 null职称char 12 null身份证号Varchar 50 null婚姻状况Char 20 null备注Varchar 100 null年龄Int Null(2)基本部门表键名称数据类型大小空默认值主键部门编号char 4 Not null部门名称char 20 null部门负责char 8 null部门人数int 4 null。
人事管理系统设计报告
![人事管理系统设计报告](https://img.taocdn.com/s3/m/9dd0d7a0fe4733687f21aabb.png)
XXXXX学院课程设计考核表分院旅业管理专业酒店管理班级课程设计任务书XXXXXXX学院《Visual FoxPro数据库程序设计》课程设计说明书题目:人事管理系统班级:XXXXX学号:XXXX姓名: XX指导教师:2011 年7 月 8 日目录【摘要】ﻩ错误!未定义书签。
1。
系统总体设计ﻩ错误!未定义书签。
1。
1系统功能简介............................. 错误!未定义书签。
1。
2系统功能结构图ﻩ错误!未定义书签。
2.数据库设计ﻩ错误!未定义书签。
3.ﻩ实验数据ﻩ错误!未定义书签。
4.ﻩ程序设计界面 ................................. 错误!未定义书签。
4.1系统主界面................................ 错误!未定义书签。
4。
2职工信息查询............................ 错误!未定义书签。
4.3职工信息录入ﻩ错误!未定义书签。
4.4职工信息修改.............................. 错误!未定义书签。
4.5打印职工信息............................. 错误!未定义书签。
5。
ﻩ课程设计总结 ................................ 错误!未定义书签。
参考文献........................................ 错误!未定义书签。
【摘要】本次课程设计我们组的课题是人事管理。
主要培养我们的VFP的设计能力,提高我们的综合素质。
我们的任务是建立能够实现对一个公司人员查询、录入、修改、打印功能的系统。
我们的设计思路现建立一个主菜单,然后运用SQL语句与表单联系起来。
再通过表单对自由表的查询、录入、修改等功能来实现我们系统的顺利运行。
在制作我们组员团结协作,相互鼓励。
最终成功实现了原先预想的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MIS课程设计报告
二○○三年九月
目录
一、前言——————————————— 2
二、系统概况————————————— 2
三、需求分析————————————— 2 - 4
四、数据库设计———————————— 5 - 7
五、主程序清单———————————— 8
六、模块界面————————————— 9 -11
七、设计小结————————————— 12
前言
人事管理是每个企业必不可少的。
人事档案管理系统一般包括对人事档案的统计、查询、更新、报表输出等功能。
如果人工直接统计的话,工作量将十分庞大,特别是,如果企业员工有几万或几十万人时,人工统计将变得不可能想象。
用计算机可使人们从繁重而又单调的统计运算中解脱出来,仅用一些简单的操作便可及时准确地获得需要的信息。
在设计一个系统时,首先要做好需求分析。
合理地运用好Visual FoxPro的基本方法,建立一个适合企业的人事管理系统。
系统概况
一、课题名称:
人事管理系统。
二、设计环境:
开发工具:Microsoft Visual FoxPro 6.0
操作系统:Windows XP
需求分析
一、系统功能分析
人事管理系统的主要任务是对人事档案进行整理,使得能方便快捷地对人事档案进行查询、统计、更新,并且能按一定要求输出报表。
通过该系统,使企业的人事管理工作系统化、规范化、自动化,从而提高企业人事管理的效率。
二、系统功能模块设计
本系统分为如下的几大模块:
1、主界面模块
该模块提供管理系统的主界面,是主系统的唯一入口和出口,该界面提供用户选择并调用各子模块。
2、浏览模块
该模块提供全部人事档案的界面。
3、查询模块
该模块提供查询符合某一条件的人事档案的界面。
4、统计模块
该模块提供按某一条件进行统计的界面。
5、编辑模块
该模块提供对按档案进行更改、删除和新增的界面。
6、报表模块
该模块按一定格式将人事档案以报表格式输出。
三、数据流图
数据库设计
创建数据库是设计系统的第一步,其关键问题在于确定所需的表结构并为之建立索引。
为了使系统设计精练实用,体现关系型数据库的特点,本系统还为各相关表建立关系。
1、数据项设计
通过需求分析,可确定系统的数据项和数据结构如下:
a、人事档案(编号、姓名、性别、出生年月、联系电话、住址、籍贯、文化程度、职称、部门、职务、基本工资、简历)。
b、家庭成员(编号、家属姓名、与员工关系、出生年月)。
c、社会关系(编号、关系姓名、与员工关系、出生年月)。
为了方便统计,本系统还设定了几个用于统计的临时表:
a、统计部门(部门、人数)。
b、统计职务(职务、人数)。
c、统计职称(职称、人数)。
d、统计文化程度(文化程度、人数)。
2、概念结构设计
本系统在需求分析的基础上设计出能够满足用户需求的各种实体。
根据上面的分析所得的实体有:人事档案实体、家庭成员实体和社会关系实体。
各实体间的关系如图:
3、逻辑结构设计
人事档案表
家庭成员表
社会关系表
统计部门表
统计职务表
统计职称表
统计文化程度表
主程序清单
set talk off
set safety off
set date ansi
set century on
set default to a:\rsgl
use 人事档案表
dkda=.f.
do form main
do main.mnx
read events
set sysmenu to default
if dkda
use 人事档案表
endif
close all
cancel
模块界面
1、主界面:
2、浏览界面
3、查询界面
4、统计界面
5、编辑界面
6、报表界面
设计小结
通过编写这个程序后,我觉得VFP是一个强大的数据处理工具,因为无论是最终用户或是像我们这样的程序编制者,在使用过程中都可以找到一个相当便捷的方法来实现我们的想法。
在编制过程中,我首先考虑到了界面的友好性,并在界面设计时不采用烦琐的细节,使界面简单、清晰,便于操作。
本次编制中的不足之处是因为是首次尝试编制可应用的数据管理系统,可能在实际应用中有些功能不到位,对声音、动画的功能也未能插入。
我将不断提高自己,争取今后在编制程序时,能编写出有个性且应用性较强的数据库管理系统。