c++高校人事档案管理系统

合集下载

人事档案管理系统_c语言

人事档案管理系统_c语言

人事档案管理系统_c语言人事档案管理系统是一种用于管理和维护组织内员工档案的软件系统。

随着企业的发展和人力资源管理的进步,人事档案管理系统已经成为企业管理不可或缺的一部分。

本文将介绍一个C语言实现的人事档案管理系统,包括系统设计和功能。

一、系统设计1.系统结构人事档案管理系统主要由以下几个组成部分:• 用户界面模块:用于管理和维护档案等信息与操作。

• 数据库模块:用于存储和管理各类档案资料等数据。

• 后台模块:用于管理人事档案管理系统的整体运作和处理。

2.系统功能设计人事档案管理系统主要功能包括以下几个方面:(1)用户登录,实现用户身份验证和权限管理;(2)新增、编辑、删除、查询员工等记录,实现简单员工档案的管理。

(3)工资信息管理,包括薪资发放、薪资统计等功能。

(4)请假管理,包括请假类型、请假时间、请假理由等。

(5)培训管理,包括员工培训计划、培训内容、培训结果等方面的管理。

(6)人事报表生成与查询,包括人事统计分析、人力资源计划等多个方面的管理。

二、C语言实现1.系统架构首先,需要确定系统的核心模块和需求,例如文件管理、用户管理、员工管理、考勤管理等。

然后,可以使用C语言中的结构体和函数对这些核心模块进行设计和实现。

2.模块设计(1)文件管理文件管理模块用于管理人事档案管理系统的数据文件,包括打开、创建、保存、修改、删除等功能。

由于数据是非常重要的,所以应该对其进行备份和恢复操作。

(2)用户管理用户管理模块用于管理人事档案管理系统的用户信息,包括用户的姓名、密码、权限等。

通过用户管理模块,可以对不同的用户进行身份验证和权限管理。

(3)员工管理员工管理模块用于管理和维护员工的档案信息,包括员工姓名、工号、部门、职位、工资、请假信息等。

通过员工管理模块,可以方便地查询和管理员工的信息。

(4)考勤管理考勤管理模块用于管理员工的考勤信息,包括上班打卡、下班打卡等。

通过考勤管理模块,可以方便地查询和管理员工的请假、加班、旷工等信息。

学生档案管理系统精品ppt

学生档案管理系统精品ppt
数据库封装
本书中使用类来管理数据库中的每个表,类的成员变量对应表中的每个列,类的成员函数则实现对表的各种操作,例如添加、修改、删除和读取数据等。 本书约定在应用程序目录下创建Classes目录,用来存放类模块文件。
类封装实例
例如要为表Users创建一个类Users。 类Users的属性如下: Public UserName As String '用户名 Public UserPwd As String '密码
SELECT各子句的主要功能
SELECT子句 -- 指定由查询返回的列 INTO 子句 -- 创建新表并将结果行插入新表中 FROM 子句 -- 指定从其中检索行的表 WHERE 子句 -- 指定用于限制返回行的搜索条件 GROUP BY -- 子句指定查询结果的分组条件 HAVING 子句 -- 指定组或聚合的搜索条件 ORDER BY 子句 -- 指定结果集的排序 UNION运算符 -- 将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行
UPDATE语句的基本语法
UPDATE <表名> SET <列名> = <值> [, …n] WHERE <条件表达式>
DELETE语句的基本语法
DELETE FROM <表名> WHERE <条件表达式>
ADO数据访问技术
ActiveX Data Objects 的缩写,提供对各种数据库访问的标准接口。 包括的主要对象有: 连接对象Connection。连接时必须指定要连接到的数据源以及连接所使用的用户名和口令等信息。 命令对象Command。可以通过已建立的连接发出命令,对数据源进行指定的操作。 记录集对象Recordset。查询命令可以将查询结果存储在本地,这些数据以“行”(记录)为单位,返回数据的集合被称为记录集。 字段对象Field。一个记录集行包含一个或多个字段。如果将记录集看作二维网格,字段将排列起来构成列。每一字段(列)都分别包含有名称、数据类型和值的属性。

人事代理制度的实践与思考——以陕西某省属C高校为例

人事代理制度的实践与思考——以陕西某省属C高校为例

164现代交际·2018年13期作者简介:曹军锋,西安理工大学人事处人事科科长兼人才交流中心主任,工程师。

人事代理制度的实践与思考——以陕西某省属C 高校为例曹军锋(西安理工大学 陕西 西安 710048)摘要:人事代理制度是适应高校改革发展,灵活高校用人机制的有力补充形式。

文章以陕西某省属C 高校近十七年的实践为例,介绍了高校人事代理制度的实践情况。

关键词:高校 人事代理制度 实践中图分类号:G647 文献标识码:A 文章编号:1009-5349(2018)13-0164-02我国高校从上世纪90年代开始实施人事代理制度,高校在人事制度改革方面一直进行着摸索和尝试,特别是在机构编制、薪酬制度、后勤社会化等方面做了大量卓有成效的工作。

本文以陕西某省属C 高校近十七年的实践为例,介绍了高校人事代理制度的实践情况。

一、人事代理制度的内涵人事代理制度是指政府人事部门所属的人才服务机构,接受单位或者个人的委托,依据法律法规,运用社会化服务方式,对人事业务实行代理,是实现人员使用与人事关系管理分离的一项人事改革新举措。

人事代理制度实现了人事关系管理与人员使用的分离,变单位的人为社会的人。

人事代理的方式有委托人事代理,可由单位委托,也可由个人委托;可多项委托,也可单项委托。

人事代理制度是与社会主义市场经济体制相配套的新型人事管理模式,是社会主义市场经济的必然要求,体现了市场配置人才资源的改革取向,同时也是人才工作法制化、规范化、专业化发展的标志。

二、高校人事代理制度的意义和作用人事代理制度是对传统人事管理体制的突破,人事代理制度的实行,实现了人事关系管理与人员使用的分离,使高校人事管理与服务工作实现了社会化。

人事代理制度是高校人事制度改革的突破口,实施人事代理制度是高校深化人事制度改革的需要。

高校实行人事代理制度后,用人自主权增大,可以根据工作需要及时补充所需人员,拓宽了高校用人渠道和用人方式,提升了高校人事管理工作的效能。

人力资源c++高校人事档案管理系统

人力资源c++高校人事档案管理系统

人力资源c++高校人事档案管理系统人力资源c++高校人事档案管理系统是一款专为高校人事管理部门所设计的人事档案管理软件,可以帮助高校人事管理部门有效管理和维护各个教职工的档案信息,包括个人基本信息、工作履历、培训情况、评价考核等方面。

本文将从软件设计和应用方面探讨该系统的特点和优势。

一、软件设计方面1.1 结构设计人力资源c++高校人事档案管理系统采用模块化设计,分为五大模块:用户管理、档案管理、评价考核、统计分析和系统设置。

用户管理模块用于维护系统的用户账号和权限,档案管理模块用于维护教职工的基本信息和档案,评价考核模块用于记录教职工的评价和考核情况,统计分析模块用于对数据进行统计和汇总分析,系统设置模块用于设置系统参数和选项。

1.2 数据库设计人力资源c++高校人事档案管理系统采用MySQL数据库管理,保证系统的稳定性和数据安全性。

为了方便数据的管理和维护,系统将档案信息分为多个表格存储,包括基本信息表格、工作履历表格、培训情况表格、评价考核表格等。

1.3 界面设计人力资源c++高校人事档案管理系统采用图形界面设计,使操作更加直观和简便。

主界面采用菜单式设计,便于用户操作。

各个子界面布局清晰,使用方便,同时也能够自定义设置,适应不同用户的不同需求。

二、应用方面2.1 教职工档案管理人力资源c++高校人事档案管理系统可以方便的管理所有教职工档案信息,包括个人基本信息、工作经历、教育背景、培训情况、职称评定、考核评价等。

用户可以通过关键词搜索,按照不同条件进行排序和筛选,提高了管理效率和数据准确性。

2.2 评价考核管理人力资源c++高校人事档案管理系统还可以记录记录教职工的评价和考核情况,并生成相应的评价报告和表格。

不仅可以为高校人事管理部门了解员工工作情况提供便利,也可以作为评优评先等工作的依据。

2.3 统计分析管理系统还依据教职工档案信息进行统计分析,可以方便的很好对工作进行评价。

比如可以对人员类别、学历、职称等进行分析,帮助高校人事管理部门更好地了解人员结构情况,为制定科学合理的人员配备方案提供依据。

2024高校档案管理制度

2024高校档案管理制度

2024高校档案管理制度
2024年高校档案管理制度可能包括以下方面的内容:
1. 学生档案管理:高校将建立完善的学生档案管理系统,记录学生的个人信息、学习成绩、获奖情况、参加活动等相关信息。

档案管理系统应具备信息安全保障和数据备份功能。

2. 档案归档和借阅:将学生档案进行分类和归档,确保档案的完整性和准确性。

同时,建立档案借阅制度,学生和教职工可以根据需要申请借阅档案,但需遵守借阅规定和保密政策。

3. 档案电子化:加强档案数字化建设,推行电子档案的管理和存储。

通过电子化手段,提高档案管理的效率和便捷性,同时减少纸质档案的占用空间和保管成本。

4. 档案保密:建立档案保密制度,明确档案的保密等级和管理权限。

特别是对于涉及个人隐私和敏感信息的档案,要加强保密措施,确保档案安全。

5. 档案利用和共享:鼓励教职工和学生合理利用档案资源,进行相关科研、教学和学习活动。

高校之间应该加强档案的共享交流,促进学术合作和资源共享。

6. 档案管理岗位设置和培训:建立专门的档案管理岗位,招聘专业人员负责档案管理工作。

同时,组织相关培训和考核,提高档案管理人员的专业素质和管理水平。

上述仅为大致的设想,具体的高校档案管理制度可能还会随着实际情况的变化和各高校的要求而有所调整。

第 1 页共 1 页。

高校人事档案管理中存在的问题及对策

高校人事档案管理中存在的问题及对策

高校人事档案管理中存在的问题及对策高校人事档案管理是高校行政管理的重要组成部分,其质量直接影响到高校教职员工的工作和生活。

目前在高校人事档案管理中存在着一些问题,需要通过一系列对策来加以解决。

一、存在的问题1. 档案管理混乱目前在一些高校中,由于各部门之间的信息交流不畅或者管理制度不严格,导致了人事档案的管理混乱,有些档案可能被遗漏或者错误存放。

2. 数据安全隐患高校人事档案中包含了大量的敏感信息,一旦泄露将对高校和教职员工造成严重的影响。

目前一些高校的档案管理系统存在数据安全隐患,容易受到黑客攻击或者内部人员的非法窃取。

3. 信息化水平不高虽然高校档案管理系统的建设已经开始普及,但是由于一些高校的信息化水平不高,导致了档案管理系统的使用率不高,难以满足高效管理的需求。

4. 管理制度不健全有些高校的人事档案管理制度并不健全,包括档案管理的流程、责任人、权限划分等方面存在不足,导致了管理的薄弱环节。

二、对策1. 完善管理制度高校应该加强人事档案管理制度的建设,包括明确档案管理的流程、责任人及权限划分。

建立健全的管理制度,提高管理效率,确保档案管理工作的顺利进行。

2. 加强档案管理意识高校应该加强全体工作人员的档案管理意识,包括及时整理档案、妥善保存档案、正确使用档案等方面的培训和教育,提高全员的档案管理水平。

3. 提升信息化水平高校应该加大对信息化建设的投入力度,提高信息化水平,建设安全稳定的档案管理系统。

并且要组织相关人员进行系统培训,提高档案管理系统的使用率。

4. 加强档案监管高校要建立完善的档案监管机制,对档案管理过程进行严格的监督和检查,及时发现和解决问题。

并且要加强对档案管理系统的安全防护,防止数据泄露。

5. 强化外部执法监管高校可以通过与中国国家档案局等相关部门合作,加强对档案管理工作的外部执法监管,及时发现问题、督促整改,提高档案管理的规范性和可靠性。

高校人事档案管理是一项复杂而又重要的工作,需要高校全体工作人员的共同努力来加以解决。

人事档案管理系统

人事档案管理系统

人事档案管理系统分析时间行进到21世纪,以计算机技术为主体的高新技术群体已经将触角深入到国发经济的方方面面。

在市场经济的大环境下,越来越多的人士逐渐认识到用计算机技术进行名类管理,交流的便捷。

基中最实出的是要算在厂矿企事业单位的人事档案的计算机管理了。

人事档案数据库管理系统是一个为适应当前各个行业对人事信息管理的迫志需求而设计开发的软件系统。

该系统的前台采用的是VB6.0软件开发系统,后台数据库采用的是Access2000数据库。

整个系统有数据库文件和数据库管理系统两大部他构成。

后台的Access 2000数据库文件是集中存储并管理分类人事档案信息的大本营,而前台的数据库管理系统是用来为数据库中的各种资料进行各种基本操作和管理。

一、总体结构和主要功能人事档案管理系统主要包含职工个人自然情况,工作情况,简历,政治情况等各方面信息,内容比较庞大复杂。

同时还综合考虑档案管理工作的性质,总结归纳出所需实现的功能。

主要是为人事档案进行服务,对人事的变动、人事资料、以及人事资料的查询,统计等功能。

总体上说具有编辑,查询,用户管理,图表统计等功能。

一、灵活的数据记录编辑功能,可以随时对记录进行增加,修改,更新,删除,浏览等编辑操作。

并将查询方式有机溶入编辑界面,可以实现对某项记录定位,再进行编辑,修改,更新。

二、多个数据库表的任意组合条件的查询。

便于在实际档案管理操作中呆对保种情况,多种条件下的人员情况进行统计查看。

三、具备分级用户权限管理设置,以确保档案的保密性和安全性。

四、具有分类统计,使用图表显示的功能,该统计图表可根据数据库中记录情况的变化而变化。

五、具有比较友好的人机界面,各种操作可以在直观的界面上通过人机交互式进行。

六、具有辅助表管理功能,主要是对“学历”表中的字段“学历”,“部门表”中的字段“部门”,“政治面貌”表中的字段“政治面貌”,“职称”表中的字段“职称”,进行添加,修改,删除操作。

人事档案管理系统模型如下:1为不同的职工分配不同的功能,使其具有不同的权限,完成其权限所对应的功能,从而很好地管理好整个系统。

C语言程序设计项目实训指导书

C语言程序设计项目实训指导书

C语言程序设计项目实训指导书指导教师:刘洁计算机技术系二〇一五年九月内容简介本实训项目为C语言程序项目开发实训,适用于计算机系各相关专业,在第一学年第一学期开设。

学生自己动手进行需求分析、项目设计、编码及测试,采用VC++6.0进行C程序的开发,以小组的形式完成。

通过综合实训培养学生综合运用所学的基础理论、基础知识、基本技能进行分析和解决实际问题的能力,加深对所学知识的理解和掌握,使学生受到C程序系统设计开发的综合训练,了解和掌握C应用程序开发基本模式,增强团队协作能力,提高职业技能和职业素质。

目录一.实训的目的与要求: (4)(一)实训目的 (4)(二)实训要求 (4)1、总体要求 (4)2、实训前的准备工作 (5)3、学生分组要求 (5)4、实训结果要求 (5)二.实训的前期准备(设备、用具与软件环境) (5)三.实训的题目 (6)四.实训的设计进度安排 (11)五.主要参考文献及资源 (11)一.实训的目的与要求:(一)实训目的课程设计环节是高职高专院校非常重要的一个教学环节,是学完一门课后应用本课知识及以前的知识积累而进行的综合性、开放性的训练。

通过课程设计,不仅能够使学生得到系统的技能训练,巩固和加强所学到的专业理论知识,而且能够培养学生工程意识、创新能力及团队精神等综合素质,培养学生的设计能力和解决实际问题的能力。

正如一句行话所说“C语言入门容易得道难”,对于多数学生来说,在学习了C语言之后,除了应付全国计算机等级考试之外,不知还有其他用途,对丰富的C函数所知甚少,因而对C语言兴趣不大。

因此,本课程设计环节从算法、数据结构、C语言丰富的函数以及程序设计等方面进行了精心考虑和组织,追求典型性、完整性、实用性和趣味性,希望不仅能够提高学生学习C语言的兴趣,更为开发程序打下坚实的基础。

(1) 加深对讲授内容的理解。

C语言程序设计课程中的一些语法规则和阶段性知识,只靠课堂讲授既枯燥无味又难以记忆,但它们都很重要,要想熟练掌握,必须经过大量实践加深对它们的理解与把握。

高校教师档案管理系统.doc

高校教师档案管理系统.doc

四川师范大学本科毕业设计高校教师档案管理系统学生姓名学号所在系专业名称班级指导教师四川师范大学二○一二年五月高校教师档案管理系统的设计与实现学生:指导教师:内容摘要:高校教师档案管理系统是典型的信息管理系统(MIS)。

此教师档案管理系统一切从我院的实际出发,充分考虑了我院的内部管理、信息交流、资源共享等方面的复杂需求,建立集中、统一、准确的教师档案数据库,实现了后台数据库的设计、建立和维护,以及前台应用程序的开发两个方面。

本系统从用户和管理员两个角度考虑了系统易用性和安全性,确定软件系统结构为C/S结构。

本系统的是使用Visual studio 2005工具、C#语言和SQL Server 2005数据库开发的。

其功能主要有查找、添加、修改、删除、搜索用户基本信息以及分类显示教师档案的详细信息、设置较好的管理权限。

关键词:信息管理系统 C# 数据库档案 C/SCollege teachers file management system design andImplementationAbstract: college teachers file management system is a typical management information system ( MIS ). The file management system teachers all from our reality, give full consideration to the hospital internal management, information exchange, resource sharing and complex needs, the establishment of centralized, unified, accurate teachers file database, the realization of the background database design, establishment and maintenance, as well as the application procedure development two aspects. The system users and administrators from two point of view of the system usability and safety, determine the software system structure of C / S structure. This system is the use of Visual Studio 2005, C # language and SQL Server 2005database development. Its main function is to find, add, modify, delete, search user basic information and classification of archives information, teachers set good management authority.Keywords:information management system C# database file C/S目录前言 (1)1 开发背景 (1)1.1提出问题 (1)1.2系统开发的目标 (1)1.3系统开发的意义 (1)2 技术选型 (2)2.1M ICROSOFT V ISUAL S TUDIO .NET概述 (2)2.2SQL S ERVER 2005概述 (2)3 系统分析与设计 (3)3.1设计目标 (3)3.2系统业务流程分析 (3)3.3系统的功能结构 (4)3.4数据库设计 (4)3.4.1 数据库E-R图 (4)3.4.2 数据库物理结构 (7)4 公共模块设计 (10)4.1W EB C ONFIG配置 (10)4.2公共类的设计 (10)4.2.1 DBClass类 (11)4.2.2 ManagerClass类 (11)4.2.3 PersonRecordClass类 (12)4.2.4 RandomCode类 (16)5 系统功能的实现 (17)5.1系统登录模块 (17)5.1.1 登录页面的实现 (17)5.1.2 登录页面的关键代码 (17)5.2首页设计 (18)5.3档案信息添加模块 (18)5.4档案的修改模块 (19)5.5档案信息删除模块 (19)6 结束语 (20)参考文献 (22)高校教师档案管理系统的设计与实现前言随着教育行业的现代化发展,学校离不开计算机技术在管理领域的应用。

档案管理系统流程及流程图

档案管理系统流程及流程图

详 部门、借阅日期、归还日期—借阅部门主管领导签字—持签字齐全的借阅单到档案室借阅—档案管理员在文件目录中查找该文件的
细 编号,将文件编号写在借阅单上—文件借出后,档案室依照借阅单在文件借阅登记表上及电子版借阅未归还目录中登记—已到借阅

预计归还日期,档案室电话通知其归还或办理续借—文件归还时检查是否完整无损,完好无损,档案室在实际
具体工作文件借阅借阅人填写文件借阅申请单写清文件编号文件名称原复印件份数借阅用途密级程度借阅原因借阅人借阅部门借阅日期归还日期借阅部门主管领导签字持签字齐全的借阅单到档案室借阅档案管理员在文件目录中查找该文件的编号将文件编号写在借阅单上文件借出后档案室依照借阅单在文件借阅登记表上及电子版借阅未归还目录中登记已到借阅预计归还日期档案室通知其归还或办理续借文件归还时检查是否完整无损完好无损档案室在实际归还日期中写明归还日期注销其借阅手续档案室将归还文件整理归档具体工作合同接收到董办接收合同档案室秘书依据合同类移交表对合同进行核对手续完整签字接收档案室对合同进行存档并下发相关部门接收合同要求
(5G..1....1..)....卷...内....目....录...:....见...附....件.....1..:.《....员....工...人....事....副...档....明...细....》.................................................................. 异 (5.2.1动)文招件聘资料:
档案管 理专员
档案管 理专员
主流程项目
实用文档
档案管理流程
注解
责任人
大全
5.3 入职资料(5.3.1) 5.4 在职资料(5.4.1) 5.5 调职调薪资料(5.5.1)

人事档案管理系统使用说明书

人事档案管理系统使用说明书

《人事档案管理系统》使用说明书一、系统简介该人事档案管理系统旨在对企业人事档案进行信息化日常管理,业务包括:(1)员工个人信息的查询及维护。

员工可以查询自己的各项档案信息,包括基本信息、培训信息、考勤信息、考核信息和奖惩信息;员工可以修改自己的联系方式和生日(对其他信息的修改需要管理员或具有相应权限的用户进行操作)。

(2)员工管理具有该权限的用户可以添加、删除、查询和修改员工信息。

对员工信息的查询支持多条件组合查询。

(3)考勤管理具有该权限的用户可以查看按月统计的员工考勤记录(普通员工只能在个人信息查询模块查看自己的按天列出的历史考勤记录)。

(4)培训管理具有该权限的用户可以添加、删除、查询和修改培训项目,以及将员工添加到培训中或从培训中移除。

(5)考核管理具有该权限的用户可以添加、删除、查询和修改员工考核成绩(业务流程还未实现)。

(6)奖惩管理具有该权限的用户可以添加、删除、查询和修改员工的奖励和惩罚记录(业务流程还未实现)。

(7)权限管理具有该权限的用户可以查询权限的授权情况,将员工(系统用户)添加到现有角色以及从所属角色中移除。

(8)角色管理具有该权限的用户可以添加、删除、查询和修改角色权限。

(9)账户设置用户可以修改登录密码。

(10)工资管理入职时间每满两年工资上涨浮动10%。

(触发器来实现)二、系统登录及当前可用的系统用户系统登录界面如下图所示:系统使用用户ID(即员工ID)和密码登录。

由于不同用户具有的权限不同,登陆后显示出的模块不同。

本说明书中使用用户ID“1”和密码“123”登录系统,作为使用说明。

登录系统后,显示的导航界面如下:当前可用的用户ID(系统中已录入的员工)及密码保存在数据库中的Users表中。

可使用Windows身份验证(具有管理员权限)或SQL Server 身份验证下的登录名sa(即数据库管理员,密码在安装数据库时已指定)和登录名Suna(本系统使用的数据库用户,密码为suna2013,只有有限的权限)登录数据库EmployeeManage,即可查看到该表。

C语言课程设计报告—人事管理系统1

C语言课程设计报告—人事管理系统1

人事管理系统前言:现代计算机技术的发展为人们的学习、生活、工作提供了很大的帮助, 各行各业都需要特定计算系统的运用, 我们需要了解这些系统是怎么样为我们服务以及他们是怎样编辑出来的。

我们需要学习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();}。

高校学生档案管理系统说明书.doc

高校学生档案管理系统说明书.doc

*******************实践教学*******************兰州理工大学计算机与通信学院2013年春季学期数据库课程设计题目:专业班级:姓名:学号:指导教师:成绩:目录摘要 (2)前言 (3)正文 (4)1.需求分析 (4)2.概念结构设计 (6)3.逻辑结构设计 (9)4.系统实现 (12)5.系统测试 (17)6.软件使用说明书 (20)总结 (23)参考文献 (24)致谢 (25)摘要学生档案管理系统是典型的信息管理系统,其开发主要包括后台数据库建立和维护以及前端应用程序的开发两个方面。

经分析,使用MyEclipse8.6作为前台开发工具,用MySQL作为后台数据库开发工具。

本系统参考兰州理工大学的学生档案管理为原型,通过分析现有的管理模式和管理软件,建立系统模型。

本学生档案管理系统包括学生基本信息、家庭信息、奖励信息、惩罚信息和毕业工作信息等内容的管理,实现了信息的录入、查询、删除、修改和统计等功能。

关键字:学生;档案管理;增、删、改、查;JDBC ODBC前言数据库是从60年代初发展起来的计算机技术。

经过四十多年的发展,数据库技术己经趋于成熟。

就数据库应用而言呈现出多样化的空间,如数字图书馆、电子出版物、电子商务、远程教育系统等的出现,给数据库技术提出了更多、更高的要求。

同时,随着国内高校校园网的建设,基于互联网的应用系统的开发正在蓬勃发展并发挥着较大的作用。

例如,我国高校的网上招生系统,学校的各种管理信息系统,学校成绩查询系统,还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是基于校园网的应用系统。

本学生档案管理系统包括学生信息、家庭信息、奖惩信息、毕业信息等内容的管理。

我国的网上教学教务管理系统并不十分完善,在高等学校的教务管理工作中,学生信息的网上查询都是十分复杂、棘手的工作。

遵从以往的工作方式,该工作的工作量大,管理繁琐,既耗人力,又耗物力;如今面对大量的学生数据、报表,手工处理方式已经很难跟上现代化的步伐。

基于C 的学生籍贯信息记录簿方案设计书

基于C  的学生籍贯信息记录簿方案设计书

学生姓名:指导老师:摘要随着现代化校园的发展,学生的学籍管理需要更快捷方便的信息化管理模式。

设计一个基于c++的学生档案管理系统,可以方便对学生信息的管理。

本设计实现了全校学生信息查询,新来的学生信息进行信息录入,由于学生上课情况复杂,还实现了信息修改,及时调整学生的基本情况的功能。

本设计的学校学生档案管理系统,使用了面向对象的方法,运用Microsoft Visual C++ 6.0实现具有添加新学生、显示全部、删除、删除全部、修改、退出等功能的学生籍贯管理系统。

关键词程序设计;C++;学籍管理1 引言学生档案管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

计算机已经成为我们学习和工作的得力助手:今天,计算机的价格已经十分低廉,性能却有了长足的进步。

它已经被应用于许多领域,计算机之所以如此流行的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以节省许多资源;第三,计算机可以大大的提高人们的工作效率等等。

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学生档案信息进行管理,具有手工管理所无法比拟的优点。

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

学生档案管理系统是典型的信息管理系统(MIS),其开发主要包括保密和前台应用程序的开发两个方面。

本次课程设计目的:通过一个企业人事管理系统,使学校档案管理工作系统化、规范化、自动化,从而达到提高学校管理效率。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

高校人事档案管理系统设计方法和基本原理:一、问题描述(功能要求):某高校,主要人员有:在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。

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

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

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

2、问题的解决方案:源代码#include<iostream>#include<fstream>#include<cstring>#include<iomanip>using namespace std;int k;class person{private:char num[10]; //编号char type[20]; //种类char name[20]; //姓名char sex[10]; //性别char age[10]; //年龄char staff[20]; //职务char zhichen[20]; //职称char zzmm[20]; //政治面貌char zgxl[20]; //最高学历char rzsj[20]; //任职时间char lysj[30]; //来院时间static int bianhao; //计数器public:void setperson(char *type1,char *name1,char *sex1,char *age1,char *staff1,char *zhichen1,char *zzmm1,char *zgxl1,char *rzsj1,char *lysj1);//构造函数static int& getbianhao() {return bianhao;}char * gettype() { return type;}char * getname() {return name;}char * getsex() {return sex;}char * getage() {return age;}char * getstaff() {return staff;}char * getzhichen() {return zhichen;}char * getzzmm() {return zzmm;}char * getzgxl() {return zgxl;}char * getrzsj() {return rzsj;}char * getlysj() {return lysj;}char * getnum() {return num;}void tjry();void find();void output();void del();void xiugai();void tongji();};person p[100];person pp[100];int k1;int person::bianhao=0;void person::setperson(char *type1,char *name1,char *sex1,char *age1,char *staff1,char *zhichen1,char *zzmm1,char *zgxl1,char *rzsj1,char *lysj1){int static j=1;strcpy(type,type1);strcpy(name,name1);strcpy(sex,sex1);strcpy(age,age1);strcpy(staff,staff1);strcpy(zhichen,zhichen1);strcpy(zzmm,zzmm1);strcpy(zgxl,zgxl1);strcpy(rzsj,rzsj1);strcpy(lysj,lysj1);bianhao++;ofstream file("添加人员.txt",ios_base::app); file<<p[j].getbianhao()<<endl;file<<p[j].gettype()<<endl;file<<p[j].getname()<<endl;file<<p[j].getsex()<<endl;file<<p[j].getage()<<endl;file<<p[j].getstaff()<<endl;file<<p[j].getzhichen()<<endl;file<<p[j].getzzmm()<<endl;file<<p[j].getzgxl()<<endl;file<<p[j].getrzsj()<<endl;file<<p[j].getlysj()<<endl;j++;file.close();}void person::tongji() //{int a=0;int b=0;int c=0;int d=0;int k=1;ifstream filem("添加人员.txt",ios_base::in); while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getstaff();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();if(strcmp(pp[k].gettype(),"行政人员")==0||strcmp(pp[k].gettype(),"教师")==0||strcmp(pp[k].gettype(),"一般员工")==0)a++;if(strcmp(pp[k].getzzmm(),"党员")==0)b++;if(strcmp(pp[k].getsex(),"nv")==0)c++;if(strcmp(pp[k].getzgxl(),"boshi")==0)d++;k++;}filem.close();cout<<"在职人数"<<setw(12)<<"党员人数"<<setw(12)<<"女工人数"<<setw(12)<<"高学历人数"<<endl;cout<<a<<setw(12)<<b<<setw(12)<<c<<setw(12)<<d<<endl;}void person::xiugai() //{int k=1;ifstream filem("添加人员.txt",ios_base::in);while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getstaff();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();k++;}filem.close();cout<<"请输入要修改的人的编号:"<<endl;int x,y;cin>>x;cout<<"请输入编号为"<<x<<"的人需要修改的项目的代号:"<<endl;cout<<"1:编号-2:人员类型-3:姓名-4:性别-5:年龄-6:职务-7:职称-8:政治面貌-9:最高学历-10:任职时间-11:来院时间"<<endl;cin>>y;switch(y){case 1:{cout<<"请输入新的编号"; cin>>pp[x].getnum() ;}break;case 2:{cout<<"请输入新的人员类型"; cin>>pp[x].gettype();} break;case 3:{cout<<"请输入新的姓名";cin>>pp[x].getname();}break;case 4:{cout<<"请输入新的性别";cin>>pp[x].getsex();}break;case 5:{cout<<"请输入新的年龄";cin>>pp[x].getage();}break;case 6:{cout<<"请输入新的职务";cin>>pp[x].getstaff();}break;case 7:{cout<<"请输入新的职称";cin>>pp[x].getzhichen();} break;case 8:{cout<<"请输入新的政治面貌";cin>>pp[x].getzzmm();} break;case 9:{cout<<"请输入新的最高学历";cin>>pp[x].getzgxl();} break;case 10:{cout<<"请输入新的任职时间";cin>>pp[x].getrzsj();} break;case 11:{cout<<"请输入新的来院时间";cin>>pp[x].getlysj();} break;}ofstream file1("添加人员.txt",ios_base::trunc);for(k=1;k<=bianhao;k++){file1<<pp[k].getnum()<<endl;file1<<pp[k].gettype()<<endl;file1<<pp[k].getname()<<endl;file1<<pp[k].getsex()<<endl;file1<<pp[k].getage()<<endl;file1<<pp[k].getstaff()<<endl;file1<<pp[k].getzhichen()<<endl;file1<<pp[k].getzzmm()<<endl;file1<<pp[k].getzgxl()<<endl;file1<<pp[k].getrzsj()<<endl;file1<<pp[k].getlysj()<<endl;}file1.close();cout<<"修改并保存完毕"<<endl;}void person::shancu() //{int z;ifstream filem("添加人员.txt",ios_base::in);int k=1;while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getstaff();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();k++;}filem.close();cout<<"请输入要被删除信息的人的编号:"<<endl;cin>>z;while(z<1||z>bianhao){cout<<"没有找到你要删除的人,请重新输入:"<<endl;cin>>z;} for(k=1;k<=bianhao;k++){if(z==k)continue;ofstream file2("添加人员.txt",ios_base::trunc);file2<<pp[k].getnum()<<endl;file2<<pp[k].gettype()<<endl;file2<<pp[k].getname()<<endl;file2<<pp[k].getsex()<<endl;file2<<pp[k].getage()<<endl;file2<<pp[k].getstaff()<<endl;file2<<pp[k].getzhichen()<<endl;file2<<pp[k].getzzmm()<<endl;file2<<pp[k].getzgxl()<<endl;file2<<pp[k].getrzsj()<<endl;file2<<pp[k].getlysj()<<endl;file2.close();}cout<<"删除记录完毕"<<endl;}void person::find() //{cout<<"1:按编号查询--2:按姓名查询-请选择(1-2)"<<endl;int m;cin>>m;while(m<1||m>2){cout<<"请重新输入(1-2)"<<endl;cin>>m;}switch(m){case 1:{char n[10];cout<<"请输入要查找的编号:";cin>>n;ifstream filem("添加人员.txt",ios_base::in);int k=1;cout<<"编号"<<setw(9)<<"人员类型"<<setw(5)<<"姓名"<<setw(5)<<"性别"<<setw(5)<<"年龄"<<setw(5)<<"职务"<<setw(5)<<"职称"<<setw(9)<<"政治面貌"<<setw(10)<<"最高学历"<<setw(10)<<"任职时间" <<setw(10)<<"来院时间"<<endl;while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getstaff();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();if(strcmp(pp[k].getnum(),n)==0){cout<<pp[k].getnum()<<setw(9)<<pp[k].gettype()<<setw(5)<<pp[k].getnam e()<<setw(5)<<pp[k].getsex()<<setw(5)<<pp[k].getage()<<setw(5)<<pp[k].getstaff()<<setw(5)<<pp[k].getzhichen()<<setw(9)<<pp[k].getzzmm()<<setw(10)<<pp[k].getzgxl()<<setw(10)<<pp[k].getrzsj()<<setw(10)<<pp[k].getlysj()<<endl;break;} k++;if(filem.eof()){cout<<endl;cout<<" 警告:没有要查找的人!!!!!!!!!!";}}filem.close();} break;case 2:{char nname[20];cout<<"请输入要查找的姓名:";cin>>nname;ifstream filem("添加人员.txt",ios_base::in);int k=1;cout<<"编号"<<setw(9)<<"人员类型"<<setw(5)<<"姓名"<<setw(5)<<"性别"<<setw(5)<<"年龄"<<setw(5)<<"职务"<<setw(5)<<"职称"<<setw(9)<<"政治面貌"<<setw(10)<<"最高学历"<<setw(10)<<"任职时间" <<setw(10)<<"来院时间"<<endl;while(!filem.eof()){filem>>pp[k].getnum();filem>>pp[k].gettype();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getstaff();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();if(strcmp(pp[k].getname(),nname)==0){cout<<pp[k].getnum()<<setw(9)<<pp[k].gettype()<<setw(5)<<pp[k].getnam e()<<setw(5)<<pp[k].getsex()<<setw(5)<<pp[k].getage()<<setw(5)<<pp[k].getstaff()<<setw(5)<<pp[k].getzhichen()<<setw(9)<<pp[k].getzzmm()<<setw(10)<<pp[k].getzgxl()<<setw(10)<<pp[k].getrzsj()<<setw(10)<<pp[k].getlysj()<<endl;break;} k++;if(filem.eof()){cout<<endl;cout<<" 警告:没有要查找的人!!!!!!!!!!";}}filem.close();}break;}}void person::tjry() //{int v,l=1;char type2[20];char name2[20];char sex2[10];char age2[10];char staff2[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>>staff2;cout<<"职称:"; cin>>zhichen2;cout<<"政治面貌:"; cin>>zzmm2;cout<<"最高学历:"; cin>>zgxl2;cout<<"任职时间:"; cin>>rzsj2;cout<<"来院时间:"; cin>>lysj2;p[i].setperson(type2,name2,sex2,age2,staff2,zhichen2,zzmm2,zgxl2,rzsj 2,lysj2);l++;}}void person::output() //{ifstream filem("添加人员.txt",ios_base::in);int k=1;cout<<"编号"<<setw(9)<<"人员类型"<<setw(5)<<"姓名"<<setw(5)<<"性别" <<setw(5)<<"年龄"<<setw(5)<<"职务"<<setw(5)<<"职称"<<setw(9)<<"政治面貌"<<setw(10)<<"最高学历"<<setw(10)<<"任职时间" <<setw(10)<<"来院时间"<<endl;while(!filem.eof()){filem>>pp[k].getbianhao();filem>>pp[k].gettype();filem>>pp[k].getname();filem>>pp[k].getsex();filem>>pp[k].getage();filem>>pp[k].getstaff();filem>>pp[k].getzhichen();filem>>pp[k].getzzmm();filem>>pp[k].getzgxl();filem>>pp[k].getrzsj();filem>>pp[k].getlysj();cout<<pp[k].getbianhao()<<setw(9)<<pp[k].gettype()<<setw(5)<<pp[k].ge tname()<<setw(5)<<pp[k].getsex()<<setw(5)<<pp[k].getage()<<setw(5)<<pp[k].getstaff()<<setw(5)<<pp[k].getzhichen()<<setw(9)<<pp[k].getzzmm()<<setw(10)<<pp[k].getzgxl()<<setw(10)<<pp[k].getrzsj()<<setw(10)<<pp[k].getlysj()<<endl;k++;}k1=--k;filem.close();}void menu(){person pjk;int c;cout<<endl;cout<<"1.添加人员信息并保存"<<endl;cout<<"2.删除人员信息"<<endl;cout<<"3.修改人员信息"<<endl;cout<<"4.查询人员信息"<<endl;cout<<"5.统计人员信息"<<endl;cout<<"6.显示所有信息"<<endl;cout<<"7.退出"<<endl;cout<<" 请选择(1-7): "<<endl;cin>>c;switch(c){case 1: pjk.tjry();menu();break;case 2:pjk.del();menu(); break;case 3:pjk.xiugai();menu(); break;case 4:pjk.find() ;cout<<endl<<endl; menu();break;case 5:pjk.tongji();menu(); break;case 6:pjk.output();menu();break;case 7:exit(1);break;}}void main(){menu(); }。

相关文档
最新文档