小型人员信息管理系统
- 格式:doc
- 大小:328.50 KB
- 文档页数:26
人员管理系统系统方案北京XXXX研究所目录第一章:设计概述 (3)1。
1设计思想 (3)1.2设计原则 (4)1。
3设计依据 (5)第二章:系统介绍 (6)2。
1。
系统概述 (6)2。
2.系统结构 (7)2.3.系统特性 (9)2。
4。
系统软件集成平台 (19)2。
5。
软件平台功能特点 (21)2。
6。
系统施工注意项 (22)2。
7。
系统验收与交付 (23)第三章:数据中心 (23)3。
1概述 (24)3.2操作系统选型 (25)3。
3数据库选型 (25)第四章:发卡中心 (27)4。
1系统功能 (27)4。
2发卡系统构成及特点 (29)第五章:门禁管理子系统 (29)第一章:设计概述1.1设计思想系统能够做到“功能联动,智能集成”,最大限度地为用户提供方便是我们一贯追求的最高目标。
根据上述设计思想,我们的系统将通过智能卡的形式得以完美表现,实现对各类人员身份的统一识别,各类应用的统一管理。
概括看,我们的系统实现了“五个一"➢一卡:所有内部人员、车辆、载体等都配备独特的身份识别卡,用于在内部的所有生活、工作行为中的身份确认。
➢一库:为防止数据丢失、数据灾难、数据崩溃,智能营区系统数据由高性能服务器统一存储.并可通过双机热备技术来确保数据安全。
➢一中心:为防止多次发卡,多次注销所带来的不便、数据不一致。
在一卡多用的系统中,只设一个发卡中心,发卡中心一旦注册,各应用子系统管理机会自动生成,不需到各子系统重复发卡。
发卡中心一旦办理挂失,注销手续,各应用子系统会自动收到讯息,并转发给各智能终端产生黑名单,防止非法使用。
有效地保证了系统的数据一致性和安全性。
➢一平台:智能营区系统设在一集成平台,负责内部各子系统的管理及相互关联,也可与其它安防系统,楼控系统实现联动.1。
2设计原则先进性:本系统采用北京军安独创的近/远距离双智能识别技术,构成一套完整的系统体系。
智能卡查验系统应采用先进的计算机技术,将不同的计算机技术与物联网技术进行综合,并通过计算机网络将多种技术有机集成,提高了工作效率和应急响应速度。
企业员工信息管理系统- 0 -分类号_______________ 密级________________UDC _______________ 学号_ ___毕业设计(论文)论文题目企业员工信息管理系统的设计与实现 Thesis Topic Design and implementation of enterprise employee2017年7月25日毕业设计(论文)任务书企业员工信息管理系统的设计与实现摘要随着电子信息的飞速发展,计算机已经融入到了生活的各个方面,越来越多的企业开始使用电子计算机来对企业进行管理,信息化的时代已经到来,各个企业无论大小都需要一个信息化的管理系统来对自己公司内部的员工信息进行管理,企业员工信息管理系统是一个针对此问题而进行开发的系统,使得公司的员工管理不如现代化,开启了一个新的管理模式。
本文首先对比了国内外企业员工信息管理的现状,明确了需求的不同以及需要吸收借鉴的部分,然后在员工信息管理的需求基础上,通过系统的功能需求与系统的可行性分析,确立了企业员工信息管理系统的基本功能,构建了该系统的框架以及结构设计,然后对该系统的各个功能的主要代码进行分析、设计,最后对系统的各个功能进行测试,完成了本次系统的开发。
企业员工信息管理系统分为两大模块,管理员模块和普通员工模块,管理员可以操作系统的所有功能,主要包括部门管理、员工信息管理、出勤管理、工资管理以及请假审核等功能;为了信息的保密以及系统的安全性,普通员工只具有查看工资以及请假的功能。
文章以需求分析,系统概要设计,系统功能实现,系统测试等为主要内容,详细介绍了一个基于Web技术的B/S结构的企业员工信息管理系统。
本系统主要使用MyEclipse软件进行程序编写,使用JSP作为前台的开发语言,使用MySql 作为后台的数据库管理系统,服务器采用tomcat,开发出的一个适应现代社会发展的企业员工信息管理系统。
关键词:员工信息,JSP,B/S结构The design and implementation of enterpriseemployee information management systemABSTRACTWith the rapid development of electronic information, computer has been integrated into all aspects of life, more and more enterprises begin to use computer to manage the enterprise, the information age has arrived, regardless of the size of each enterprise needs an information management system to the company's internal staff information management, employee information a management system is to solve this problem for the development of the system, making the company's employee management as the modernization, opening a new management mode.This paper first compares the present situation of domestic and foreign enterprise employee information management, clarifies the different demand and need to absorb the part, and then the demand based on the employee information management, through the feasibility of functional requirements and system analysis, establishes the basic function of enterprise staff information management system, construct the system framework and structure design, and then the main code foreach function of the system is analyzed and designed, and finally test the various functions of the system, completed the development of this system. Employee information management system is divided into two modules, administrator module and general staff module, the administrator can all functions of the operating system, including department management, employee information management, attendance management, salary management and audit functions in order to leave; information security and secrecy system, general staff wages and leave only with a view the function of.This paper takes requirement analysis, system outline design, system function realization and system test as the main contents, and introduces a B/S enterprise employee information management system based on Web technology in detail. This system mainly uses MyEclipse software to program and use JSP as the development language, using MySQL as the background database management system, using Tomcat server, an information management system for enterprise employees adapt to the development of modern society developed.Keywords:em ployee information,JSP,B / S structure企业员工信息管理系统目录摘要 (1)ABSTRACT (3)1绪论 (1)1.1课题背景 (1)1.2目的和意义 (2)1.3研究的目标与内容 (3)1.4软硬件需求 (4)1.5本文组织结构 (4)2 需求分析 (6)2.1系统功能需求 (6)2.1.1系统功能需求 (6)2.1.2用户特点 (8)2.2系统模型 (8)2.2.1参与者 (8)2.2.2管理员用例图 (8)2.2.3普通员工用例图 (9)2.3可行性分析 (10)2.3.1技术的可行性 (10)2.3.2经济的可行性 (11)2.3.3操作可行性 (11)2.3.4法律的可行性 (12)3 系统概要设计 (13)3.1系统设计原则 (13)3.2系统架构设计 (14)3.3数据库设计 (16)3.3.1数据库的概念结构设计 (16)3.3.2数据库的逻辑结构设计 (17)3.3.3数据库的连接原理 (21)4 系统详细设计 (25)4.1系统登陆页面实现 (25)4.2管理员模块 (32)4.2.1部门信息管理 (33)4.2.1.1部门信息录入 (33)4.2.1.2部门信息管理 (34)4.2.1.3部门信息删除 (37)4.2.2员工信息管理 (38)4.2.2.1员工信息信息录入 (38)4.2.2.2员工信息管理 (39)4.2.3出勤管理 (43)4.2.3.1出勤录入 (43)4.2.4修改密码 (43)4.2.5工资管理 (43)4.2.6请假审核管理 (44)4.2.7退出系统 (45)4.3普通员工模块 (45)4.3.1请假申请 (45)4.3.2我的工资浏览 (46)4.3.3修改密码 (47)5 系统测试 (48)5.1系统测试目的与意义 (48)5.2系统测试方法 (48)5.2.1系统测试计划 (48)5.2.2系统测试方法 (49)5.2系统功能测试 (49)5.2.1主页面的登录模块测试 (49)5.2.2修改密码的模块测试 (50)5.2.3部门管理的模块测试 (51)5.2.4员工管理的模块测试 (51)5.2.5出勤管理的模块测试 (52)5.2.6工资管理的模块测试 (53)5.2.7请假审核的模块测试 (54)5.2.8我的请假的模块测试 (55)5.3其他错误 (55)6 总结与展望 (57)6.1论文的主要工作 (57)6.2存在问题 (57)结论 (59)参考文献 (61)致谢 (62)外文原文 (63)中文翻译 (77)企业员工信息管理系统1绪论1.1课题背景计算机网络技术的发展,给信息时代的人们带来了很大的方便。
陕西省三类人员信息管理系统操作说明二○一一年三月目录1. 系统操作说明 (2)1.1.如何登录系统 (2)1.1.1. 如何注册新用户 (2)1.1.2. 如何直接登录系统 (4)1.2.系统功能菜单介绍 (4)1.2.1. 温馨提示 (4)1.2.2. 企业信息维护 (5)1.2.3. 文件通知 (6)1.2.4. 人员查询 (7)1.2.5. 注册申请 (9)1.2.6. 变更申请 (12)1.2.7. 用户管理 (14)1.2.8. 登录其它 (15)1.2.9. 在线服务 (15)1.2.10. 安全退出 (15)2. 使用问题指南 (16)2.1.系统支持 (16)2.2.最低硬件配置 (16)2.3.如何设置网站为信任站点 (16)1.系统操作说明1.1.如何登录系统1.1.1.如何注册新用户建设单位在使用《陕西省工程质量安全三类人员管理信息系统》前,必须注册一个新帐号。
操作步骤如下:第一步:打开IE浏览器或其它浏览器,在“地址栏”内输入以下内容::81/Qs/WebSite/main/index.aspx 如图1.1;第二步:点击页面中的按钮;图 1.1第三步:进入注册页面如图 1.2,建设单位应认真填写真实数据,以便给您带来不便。
页面中显示“*”代表该项必须填写,如果没有填写,点注册按钮后会自动提示。
填写完表单数据后,请点击页面中的铵钮;图 1.2第四步:进入注册成功页如图1.3,请建设单位牢记“用户名”、“密码”,该两项内容为登录系统时所必须输入的内容。
可以单击按钮登录系统,也可到主页面登录,如图1.1图 1.31.1.2.如何直接登录系统如果建设单位已经注册,并拥有登录帐号,可以直接进入登录页面如图1.1,单“”按钮后,进入登录界面,如图1.4,图 1.4输入相应的用户名、密码、验证码,如果验证码看不清可以直接点击来获取新的验证码。
如果用户名或密码输入有误,会提示如图1.5,如果验证码输入有误,会提示如图1.6;图 1.5 图 1.6当确认输入数据项正确后,点击按钮,即可进入系统。
员⼯信息管理系统需求分析报告1 引⾔1.1 背景随着社会的发展,⼈类科技⽂明的进步,企业为⼈类⽣活所创造的财富是巨⼤的,企业在社会经济所起到的重要作⽤更⽆法估量的。
并且随着我国与国际上先进的现代化企业的接轨,如:合资,独资企业的不断涌现,新型企业内部对其⾃⾝现代化信息管理的⽔准的要求也在不断提升。
因此,不同的企业都需要有适合⾃⼰管理规范标准的企业“员⼯管理系统” ,从⽽达到提⾼企业的管理⽔平、提⾼经济效益为社会、为⼈类服务的⽬的。
另外,事业单位拥有“员⼯管理系统”可以科学、全⾯、⾼效进⾏⼈事管理⽔平。
因此,针对事业单位所开发的“员⼯管理系统” ,也可以是功能全⾯地实⽤的“⼈事管理系统”。
1.2 ⽬的学习使⽤Java设计与开发“员⼯信息管理系统”,能把多所学到的Java6 技术、数据库技术更好的进⾏融合,让学⽣在Eclipse 开发平台上进⾏⼀次有意义的实战开发演戏。
在此系统的设计过程中,学⽣可以充分展⽰个⼈的发散思维以及⼩组集体的创造⼒,从⽽达到开发别具风格与特⾊的“员⼯管理系统”。
使学⽣在此综合实训过程中达到学会学习软件设计的⽬的,达到培养⾃⾝综合素质的能⼒。
为下⼀阶段的学习,也为⾛向社会⼯作岗位奠定良好的基础。
1.3 意义编写此篇⽂档的主要意义是让使⽤该系统的⼈可以清晰地明⽩该系统的主要功能,使⽤户可以合理的应⽤该系统,减少由于⽤户的不当操做给该系统所带来的危害。
1.4 参考⽂献《Java 学习笔记》编著:林信良出版社:清华⼤学出版社《软件需求⼯程》编著:⽏国庆、梁正平、袁梦霆、李勇华出版社:机械⼯业出版社2项⽬概述2.1总体功能描述员⼯信息管理系统是对员⼯信息的管理,其中包括对新员⼯信息的录⼊, 对在职员⼯信息进⾏修改,删除,查询。
整个项⽬⼤致划分为增加员⼯基本信息,修改员⼯基本信息,删除员⼯信息,查询员⼯基本信息这四⼤模块,也是整个项⽬的核⼼。
功能模块2.2⽤户特点员⼯⼯资管理系统⾯向企业,属于企业信息管理的⼀部分。
从业人员实名制管理信息系统操作手册从业人员实名制管理信息系统操作手册
1、系统概述
1.1 系统介绍
1.2 功能概述
1.3 单点登录说明
2、用户管理
2.1 注册新用户
2.2 用户登录
2.3 用户权限管理
2.4 用户信息修改
2.5 用户密码重置
3、从业人员管理
3.1 添加从业人员信息
3.2 编辑从业人员信息
3.3 查询从业人员信息
3.4 删除从业人员信息 3.5 导入从业人员信息
3.6 导出从业人员信息
4、证件管理
4.1 添加证件信息
4.2 编辑证件信息
4.3 查询证件信息
4.4 删除证件信息
4.5 证件有效期提醒
5、权限管理
5.1 添加角色
5.2 编辑角色
5.3 删除角色
5.4 角色分配
5.5 角色权限管理
6、日志管理
6.1 操作日志查询
6.2 登录日志查询
7、系统配置管理
7.1 数据库配置
7.2 系统参数配置
7.3 系统日志配置
附件:
法律名词及注释:
1、实名制管理:指依法要求企业或组织对从业人员进行真实身份信息登记和管理的制度。
2、从业人员:指在特定行业或职业中,依法通过相关资格考试或培训并获得从业证书的人员。
3、证件管理:指对从业人员的相关证件信息进行登记、存储和管理的过程。
4、角色管理:指对系统用户的权限进行划分和管理,以实现不同用户在系统中的不同操作权限。
5、日志管理:指对系统中用户操作日志和登录日志的记录、查询和管理的过程。
为什么要建立干部人事信息管理系统建设?建立干部人事信息管理系统建设具体的优势和好处体现在哪方面?建立干部人事信息管理系统建设,以数字化、网络化为主体的信息技术平台,具有信息量大、即时性好、交互范围广的强大优势,为各级党委、机关与官兵之间建立畅达沟通渠道提供了技术保障。
针对官兵反映干部工作神秘化,公开透明不够,民意表达渠道不畅等问题,全军上下应当分层分级建立干部工作信息发布平台,及时准确发布政策规定、办事程序规范、人员考核情况、群众意见建议等重要信息内容。
建立干部档案等重要信息查询平台,运用网络技术按权限、按密级开放干部档案、考评结果等相关信息,使相应机关和干部本人方便快捷地了解掌握干部个人信息,提升各级机关对干部档案的使用效益,满足干部对个人信息的知情权监督权。
实时动态更新干部工作信息,建立专业技术队伍专项负责系统维护,及时更新干部任用、考核评价、教育培训、监督管理等信息。
各职能部门认真做好信息审核把关工作,实行干部信息“凡录必核、凡改必审”,严防造假,严防错漏,确保干部工作信息的真实性、严肃性和权威性。
现在我国的干部档案的管理水平还停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
归纳起来,好处大约有以下几点:1.可以存储干部档案,安全、高效;2.只需一到二名档案录入员即可操作系统,节省大量人力;3.可以迅速查到所需信息。
根据调查干部管理涉及档案信息系统、用户信息、管理信息等多种数据管理。
干部管理包括人员信息的添加、编辑、查询、删除、查找;系统用户管理包括用户的查询,浏览,因此对干部管理系统的功能提出下列要求。
能够存储一定数量的档案信息,并方便有效的进行相应的数据操作和管理,这主要包括:1.档案信息的添加、删除及修改。
2.档案信息的关键字检索查询。
广东百泰科技有限公司研发的干部人事信息管理系统基于多年来在组织干部、人事和人力资源管理等领域积累的丰富行业知识,结合在组织管理信息化建设领域的多年实践,依据新时期组织管理的工作要求和发展要求,经过反复论证,研发出的专门面向组织干部人事信息数据库建设和日常组织干部人事管理工作服务的管理信息系统。
人员信息管理系统近年来,随着科技的快速发展,人员信息管理系统成为了越来越多组织机构必备的工具。
人员信息管理系统通过电子化的方式,帮助组织机构高效地收集、存储和管理人员信息,提高组织机构的运营效率和工作效能。
本文将围绕人员信息管理系统的定义、功能和实施过程进行论述。
一、人员信息管理系统的定义人员信息管理系统是一种基于电子化平台的工具,旨在帮助组织机构有效管理和利用人员信息。
该系统通过收集人员的基本信息、职务信息、员工档案和薪酬信息等,为组织机构提供便捷的人力资源管理功能。
人员信息管理系统还可以与其他业务系统集成,实现人力资源管理与其他业务之间的无缝对接,提高信息处理的效率。
二、人员信息管理系统的功能1. 人员信息收集和存储: 人员信息管理系统可以根据组织机构的需求,收集员工的基本信息、教育背景、工作经历和技能等。
这些信息可以被快速存储于数据库中,并进行分类、搜索和管理。
2. 人员档案管理: 人员信息管理系统可以生成员工档案,包括个人履历、职务变动记录、培训记录和绩效评估等。
这些档案可以通过系统进行统一管理,减少纸质文件的占用和管理成本。
3. 薪酬管理: 人员信息管理系统可以帮助组织机构进行员工薪酬的管理和计算。
系统能够准确地记录员工的工作时长、加班情况和请假记录,并根据组织机构的薪酬政策进行计算和发放。
4. 绩效管理: 人员信息管理系统可以辅助组织机构进行员工绩效的评估和管理。
系统可以根据设定的绩效指标和评估周期,自动生成绩效评估报告,帮助组织机构更好地了解员工的工作表现,并采取相应的激励和改进措施。
5. 数据分析和报表生成: 人员信息管理系统可以通过数据分析功能,帮助组织机构进行统计分析和报表生成。
通过对员工信息进行分析,可以得出组织机构人员结构、薪酬分布和绩效评估结果等相关数据,为组织决策提供科学依据。
三、人员信息管理系统的实施过程1. 需求调研和分析: 在实施人员信息管理系统之前,组织机构需要进行需求调研和分析。
管理信息系统(MIS)失败案例分析专业:工程管理班级:1106班姓名:***学号:**********MIS系统开发的失败案例分析一.概述1.1项目背景某化工厂是一个只有500人的小型企业,为了提高企业管理水平,提高经济效益,1990年决定与某大学合作开发管理信息系统。
委托单位进行了可行性分析,认为该厂技术力量薄弱且管理人员对计算机应用缺乏认识,思想上阻力较大,根据企业的条件还不适于立即开始MI S的全面开发,可先研制一些子系统。
但是,厂长决定马上开始中等规模的MIS开发,他认为,做个试验,即使失败也没有关系,于是开发工作在1991年1月就全面上马了。
首先是系统调研、人员培训、规划了MIS的总体方案,并购置了以太局域网软件和五台IBM-PC机。
整个MIS由生产管理、供销及仓库管理、成本管理、综合统计和网络公用数据库等五个子系统组成。
系统开始正式运行后获得了上级领导和兄弟企业的好评。
此时企业环境却发生了很大变化,一是厂长奉命调离,新上任的厂长认为计算机无太大用处,对MIS不予关心;二是开发人员移交后撤离,技术问题时有发生;三是由于市场变化,整个工厂效益急剧下滑,无暇顾及MIS的问题,掌握了主要维护技术的人员也调离工厂,整个MIS陷入瘫痪状态,最后以失败而告终。
1.2 目的该化工产开发管理信息系统的目的是为了提高企业管理水平,提高经济效益。
1.3成本该化工长为开发新系统采用了和其它单位合作开发的策略,并进行了系统调研、人员培训,购置了以太局域网软件和五台IBM-PC机。
1.4技术该厂技术力量薄弱且管理人员对计算机应用缺乏认识,所以委托单位进行了可行性分析,根据企业的条件还不适于立即开始MI S的全面开发,先研制一些子系统。
整个MIS由生产管理、供销及仓库管理、成本管理、综合统计和网络公用数据库等五个子系统组成。
二.失败原因分析2.1失败表现(1)新上任的厂长认为计算机无太大用处,对MIS不予关心。
(2)MIS技术问题时有发生。
成绩评定表课程设计任务书摘要C++是支持面向过程的设计,更是支持基于对象和面向对象的程序设计。
类是C++中十分重要的概念,它是实现面向对象程序设计的基础。
本文采用虚基类及其派生类实现了对小型人员信息的经管,类的封装性和信息隐蔽性可以很好的保护公司员工的信息,同时采用了Visual C++ 6.0的控制台工程和MFC工程实现了对员工基本信息的输入和全部信息的输出及保存。
关键词:信息经管;类;控制台工程;MFC工程目录1 需求分析12 算法基本原理13 类设计24 基于控制台的应用程序34.1类的接口设计44.2类的实现74.3主函数设计114.4基于控制台的应用程序测试125 基于MFC的应用程序145.1基于MFC的应用程序设计155.1.1 MFC程序界面设计155.1.2 MFC程序代码设计165.2基于MFC的应用程序测试20结论23参考文献231 需求分析(1)对小型公司进行小型人员信息操作经管系统。
该公司主要有四类人员:经理、销售经理、兼职技术人员、兼职推销员;定义一个虚基类并且派生四个子类。
(2)系统需要存储这些人员的姓名、编号、级别、当月薪水,输入基本信息,计算月薪总额,显示并保存全部信息;每个派生类的构造函数要实现对其特有数据成员的初始化。
(3)系统具体要求:①编号要求:人员编号基数为1000,每输入一个员工姓名编号加1;编号定义为全局静态变量即可。
②级别要求:所有人员的初始级别均为1级,然后进行升级,经理升为4级,兼职技术人员和销售经理升为3级,兼职推销员为1级;直接对级别赋值即可。
③月薪要求:经理拿固定月薪8000元;兼职技术人员按每小时100元领取月薪;兼职推销员的月薪按该推销员当月销售额的4%提成;销售经理既拿固定月薪也领取销售提成,固定月薪为5000元,销售提成为所管辖部门当月销售总额的千分之五。
④总体要求:为每一类人员单独建立文件,并在每个文件中手工录入一些人员基本信息,并根据这些基本信息计算职工的月薪,并将计算结果保存入相应的磁盘文件中。
2算法基本原理(1)定义一个员工虚基类Employmee( ),包括员工姓名、级别、编号月薪共有的基本数据成员;(2)在基类的基础上派生出经理Mansger( )类、销售经理Salemansger( )类、兼职技术人员Technology( )类和兼职推销员Saleman( )类,并在这四个派生类中添加各自数据成员和成员函数。
具体分析如下:①员工编号的可以定义全局静态变量static int count=0;并且初始化员工编号number=1000+count;每输入一个员工的姓名编号加1。
②员工等级按照要求直接赋值即可;③在派生类的构造函数中初始化数据成员并且按照要求计算各成员的月薪。
(3)定义一个结构体链表struct Linked,并将链表的头指针头封装在友元类Head( )中。
(4)运行时构造对象指针,并存在链表中,利用类中的成员函数来实现对链表节点的打印、添加、保存。
这些操作均作为数据结构中对单链表的操作。
3 类设计首先定义一个员工基类Employee,由于要派生出多个子类,所以将其定义为虚基类;在类外定义全局静态变量,用于记录员工的编号。
虚基类Employee 中的数据成员包括姓名、编号、等级、月薪。
虚基类的成员函数包括打印函数printf(),并声明友元类。
然后派生出经理Mansger类、销售经理Salemansger类、兼职技术人员Technology类和兼职推销员Saleman类。
在派生类Mansger的构造函数直接对月薪和等级赋值:月薪8000,等级4;在派生类Salemansger的构造函数中定义特有的数据成员:销售总额sum1,并根据要求计算月薪,等级赋值3;在派生类Technology的构造函数中定义特有的数据成员:工作时间time,并根据要求计算月薪,等级赋值3;在派生类Saleman的构造函数中定义特有的数据成员:销售额sum2,并根据要求计算月薪,等级赋值1。
派生类的功能有打印函数printf(),储存函数save()。
友元类Head存放的数据成员有Linked top,功能有构造函数Head( )、插入函数Insert( )、打印函数printf()以及析构函数~Head();其中功能构造函数用来开辟储存空间,插入函数采用单链表现实信息的输入,打印函数用来输出录入员工的全部信息,析构函数用来释放空间。
基类与各派生类之间的关系如下图所示:图1 Employee类和其派生类关系的图形表示在程序实现过程中,各派生类的成员函数需要访问基类Employee的数据成员,利用公有继承方式派生,同时将Employee类中的数据成员的访问控制设置为保护类型。
这样,经过公有派生之后,基类的保护成员在派生类中依然是保护成员,可以被派生类的成员函数访问。
4 基于控制台的应用程序整个程序分为三部分,各种职员的类,结构体链表以及封装在结构体链表的类。
实现时先生成各种职员的对象指针,之后将生成的对象指针插入到链表中,最后通过封装类类的成员函数对链表节点进行操作,实现对员工的操作。
4.1 类的接口设计#include<iostream>#include<string.h>#include<fstream>using namespace std。
static int count=0。
//全局动态变量,用于记录员工编号//定义虚基类class Employee{public:Employee() //构造函数,初始化员工基本信息{cout<<"请输入员工姓名:"。
cin>>name。
++count。
number=count+1000。
level=1。
}void printf()。
//打印函数friend class Head。
//声明友元类protected: //数据成员为保护类型char name[30]。
int number。
int level。
float wages。
}。
//派生类Mansgerclass Mansger: public virtual Employee{public:Mansger():Employee(){level=4。
wages=8000。
}//构造函数定义void save()。
//储存函数void printf()。
//打印函数friend class Head。
//声明友元类}。
//派生类Salemansgerclass Salemansger: public virtual Employee{public:Salemansger():Employee() //构造函数定义{level=3。
cout<<"输入月部门销售总额:"。
cin>>sum1。
wages=5000+0.005*sum1。
//计算销售经理工资}void save ()。
//储存函数void printf()。
//打印函数friend class Head。
protected:int sum1。
//销售总额}。
//派生类Technologyclass Technology: public virtual Employee{public:Technology():Employee()//构造函数定义{level=3。
cout<<"输入该技术人员的工作时间:"。
cin>>time。
wages=100*time。
//计算技术人员工资}void save()。
//储存函数void printf()。
//打印函数friend class Head。
protected:float time。
//工作时间}。
//派生类Salemanclass Saleman: public virtual Employee /{public:Saleman():Employee()//构造函数定义{level=1。
cout<<"输入部门月销售总额:"。
cin>>sum2。
wages=0.04*sum2。
//计算销售员工资}void save ()。
//储存函数void printf()。
friend class Head。
protected:int sum2。
//销售总额}。
//定义友元类class Head{public:Head()。
//构造函数void Insert(Employee*temp)。
//单链表的插入函数void printf()。
//打印函数~Head()。
//析构函数private:Linked*top。
//单链表的头结点}。
经过公有派生,四个派生类获得了除构造函数之外的Employee类的全部成员,由于基类的成员是公有和保护类型,因此在派生类中的成员函数中,基类继承来的成员全部可以访问,而对于建立派生类对象的外部模块来讲,基类的保护成员是无法访问的。
通过保护访问类型和公有的继承方式,实现了基类Employee 的数据的有效共享和可靠保护。
友元类可以实现外部函数对类中数据成员的调用,在程序中,员工的基本信息的输入,全部信息的保存都是在基类、派生类的构造函数以及友元类的成员函数中完成,它们的清理工作在友元类析构函数中完成。
4.2 类的实现//基类输出函数void Employee::printf(){cout<<"姓名:"<<name<<" "<<"编号:"<<number<<" "<<"等级:"<<level<<" "<<"月薪:"<<wages<<endl。
}//派生类Mansger输出函数void Mansger::printf(){cout<<"姓名:"<<name<<" "<<"编号:"<<number<<" "<<"等级:"<<level<<" "<<"月薪:"<<wages<<endl。
}//派生类Mansger储存函数void Mansger::save(){ofstream fs("f:\\Mansger.txt")。