某某公司人员信息管理系统课程设计报告

合集下载

C课程设计报告公司人员管理系统

C课程设计报告公司人员管理系统

C课程设计报告公司人员管理系统Company number【1089WT-1898YT-1W8CB-9UUT-92108】内蒙古科技大学《面向对象程序设计》课程设计报告设计题目:公司人员管理系统学院:信息学院专业:电子信息工程班级:xxxxx班学号:xxxxxxxxxx学生姓名: xxxxxxxxx指导教师:余金林2011.6内蒙古科技大学课程设计任务书一、教学要求1. 巩固和加深学生对C++语言课程的基本知识的理解和掌握2. 掌握C++语言编程和程序调试的基本技能3. 利用C++语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C++语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,可根据设计内容适当修改题目名称。

公司人员管理系统定义人员基类,并派生出兼职技术人员类、经理类、部门管理人员类并在类中声明各自的成员函数;要求至少设计以下各功能模块:输入记录查询功能计算工资显示信息三、设计要求及成果1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用4. 设计完成后提交课程设计报告四、进度安排资料查阅与讨论(1天)系统分析(2天)系统的开发与测试(5天)编写课程设计说明书和验收(2天)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。

3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。

六、建议参考资料1.《C++面向对象程序设计》,吴敏、杨国林主编,内蒙古大学出版社2.《C++语言程序设计(第三版)》,郑莉,清华大学出版社目录一.摘要——————————————二.需求分析————————————三.概要设计————————————四.详细设计———————————五.总结——————————————六.参考文献————————————一.摘要C++简介:Stroustrup工作起于1979年的C with Classes。

职工信息管理系统课设报告

职工信息管理系统课设报告

*******************实践教学*******************计算机与通信学院20 年春季学期C程序设计课程设计题目:职工信息管理系统专业班级:姓名:学号:指导教师:成绩:_____________ __摘要职工信息管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以职工信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。

使用计算机对职工信息进行管理,具有手工管理所无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高职工管理的效率,也是公司的科学化、正规化管理和与世界接轨的重要条件。

本系统利用C语言开发,实现了简单的职工基本信息的录入、追加、修改、查询、删除等操作,并且能利用文件系统长久地保留原始数据。

通过本系统的开发,我们熟悉了面向过程的程序设计的基本方法和步骤,对于C语言有了更深入的理解,并且较好地掌握了C语言的编程方法和技术。

关键字:C语言;职工;信息管理系统;函数目录一、需求分析 (1)二、总体设计 (2)三、详细设计 (3)3.1数据定义 (3)3.2主函数设计 (4)3.3算法流程图 (5)四、编码 (9)五、测试 (10)5.1职工管理系统主界面 (10)5.2进入新增职工信息界面 (11)5.3进入删除职工信息界面 (12)5.4进入查询职工信息界面 (13)5.5进入修改职工信息界面 (14)5.6进入职工信息排序界面 (15)5.7退出系统 (16)六、设计总结 (17)致谢 (18)参考文献 (19)附录 (20)一、需求分析1.1问题描述对单位的职工进行管理,包括插入、删除、查找、排序等功能。

1.2要求职工对象包括姓名(字符串)、性别(字符)、出生年月(数字)、工作年月(数字)、学历(字符串)、职务(字符串)、住址(字符串)、电话(字符串)等信息。

C++公司人员信息管理系统-课程设计报告

C++公司人员信息管理系统-课程设计报告

目录1 系统需求分析 (1)2 总体设计 (2) (92)图3.13 经理信息修改界面 (92)5 结论 (94)6 心得体会 (95)1. 谭浩强.C++面向对象程序设计[M].北京:清华大学出版社,2014. (96)2. S.B.Lippman,Joie.C++ Primer(中文版)[M].4版.李师贤,译.北京:电子工业出版社,2007. (96)1 系统需求分析1.1系统设计的目的与意义:现在的公司人员数量及职位种类较多,各样的人事管理活动也比较频繁,因此需要设计一个公司人员信息管理系统来对公司员工信息进行管理。

1.2 系统功能需求:本系统有五个类:基类:employee、派生类:manager、technician、salesman、salesmanager,储存经理、技术人员、销售人员、销售经理信息。

(1)添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。

(2)查询功能可根据编号、姓名等信息对已添加的记录进行查询。

如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

(3)显示功能可显示当前系统中所有记录。

(4)修改功能可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

(5)删除功能对已添加的人员记录进行删除。

如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。

(6)统计功能能根据多种参数进行人员的统计。

例如:统计四类人员数量以及总数,统计男、女员工的数量,统计平均工资、最高工资、最低工资等。

(7)保存功能将当前系统中各类人员记录存入文件中。

(8)读取功能将保存在文件中的人员信息读入到当前系统中,以供用户使用。

2 总体设计2.1 系统功能分析:系统通过调用函数来实现信息添加、信息查询、信息显示、信息修改、信息删除、以及数据读取保存文件等功能。

职工信息管理系统课程设计报告定版

职工信息管理系统课程设计报告定版

面向对象课程设计汇报课程设计题目:职工信息管理系统姓名:班级:学号:指导老师:2011年11月8日目录摘要 (3)第一章绪论 (4)1.1面向对象C++语言程序设计 (4)1.2职工信息管理系统 (4)1.3程序编译环境 (4)第二章职工信息管理系统需求分析 (5)2.1编写目旳 (5)2.2需求概述 (5)2.3需求阐明 (6)第三章:详细设计 (7)3.1编写目旳 (7)3.2详细设计 (10)第四章:源程序编码及实现 (11)4.1程序源代码 (16)4.2程序实现成果 (17)第五章:系统测试 (18)第六章:结束语 (21)参照文献: (21)摘要在当今社会,互联网空间旳发展,给人们旳工作和生活带来了极大旳便利和高效,信息化,电子化已经成为节省运行成本,提高工作效率旳首选。

目前大量企业旳职工管理尚处在手工作业阶段,不仅效率低下,还常常由于管理旳不慎而出现纰漏。

伴随信息技术在管理上越来越深入而广泛旳应用,管理信息系统旳实行在技术上已逐渐成熟。

管理信息系统是一种不停发展旳新型学科,任何一种单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应旳管理信息系统。

本程序是一种有关职工信息管理旳系统,通过这个系统顾客可以简捷、以便旳对职工信息进行增长、修改、添加、查询、浏览等功能,它不仅可以协助企业单位到达员工管理办公自动化、节省管理成本、更能到达提高企业单位工作效率旳目旳。

关键词:职工,信息管理,系统,程序一.绪论1.1面向对象C++语言程序设计C++是种面向对象旳程序设计语言,它是在C语言基础上发展起来旳。

虽然它不是最早旳面向对象旳程序设计语言,不过它是目前使出比较广泛旳面向对象旳程序设计语言。

什么是面向对象?简朴地说,它和面向过程—样都是软件开发旳一种措施。

不过它与面向过程不一样,面向对象是—种运用对象、类、继承、封装、聚合、消息传递、多态性等概念来构造系统旳软件开发措施。

C公司人员信息管理系统课程设计报告

C公司人员信息管理系统课程设计报告

目录1 系统需求分析 (3)2 总体设计 (4)3 详细设计及实现 (5)4 系统调试 (64)5 结论 (73)6心得体会 (66)7参考书目 (75)1 系统需求分析1.1系统设计的目的与意义:现在的公司人员数量及职位种类较多,各样的人事管理活动也比较频繁,因此需要设计一个公司人员信息管理系统来对公司员工信息进行管理。

1.2系统功能需求:本系统有五个类:基类:employee、派生类:manager、technician、salesman、salesmanager,储存经理、技术人员、销售人员、销售经理信息。

(1)添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。

(2)查询功能可根据编号、姓名等信息对已添加的记录进行查询。

如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

(3)显示功能可显示当前系统中所有记录。

(4)修改功能可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

(5)删除功能对已添加的人员记录进行删除。

如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。

(6)统计功能能根据多种参数进行人员的统计。

例如:统计四类人员数量以及总数,统计男、女员工的数量,统计平均工资、最高工资、最低工资等。

(7)保存功能将当前系统中各类人员记录存入文件中。

(8)读取功能将保存在文件中的人员信息读入到当前系统中,以供用户使用。

2 总体设计2.1 系统功能分析:系统通过调用函数来实现信息添加、信息查询、信息显示、信息修改、信息删除、以及数据读取保存文件等功能。

add()函数用于录入信息;search()函数用来查询信息;show()函数用来显示信息;alter()函数用来修改信息;del()函数用来删除信息;stat()函数用来统计信息read()函数用于将文件中的数据读取到内存中;save()函数用于将内存中的信息存入文件内;主函数main()用于调用这些函数。

C 公司人员信息管理系统-课程设计报告资料

C  公司人员信息管理系统-课程设计报告资料

目录1 系统需求分析 (3)2 总体设计 (4)3 详细设计及实现 (7)4 系统调试 (69)5 结论 (73)6心得体会 (74)7参考书目 (75)1 系统需求分析1.1系统设计的目的与意义:现在的公司人员数量及职位种类较多,各样的人事管理活动也比较频繁,因此需要设计一个公司人员信息管理系统来对公司员工信息进行管理。

1.2系统功能需求:本系统有五个类:基类:employee、派生类:manager、technician、salesman、salesmanager,储存经理、技术人员、销售人员、销售经理信息。

(1)添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。

(2)查询功能可根据编号、姓名等信息对已添加的记录进行查询。

如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

(3)显示功能可显示当前系统中所有记录。

(4)修改功能可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

(5)删除功能对已添加的人员记录进行删除。

如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。

(6)统计功能能根据多种参数进行人员的统计。

例如:统计四类人员数量以及总数,统计男、女员工的数量,统计平均工资、最高工资、最低工资等。

(7)保存功能将当前系统中各类人员记录存入文件中。

(8)读取功能将保存在文件中的人员信息读入到当前系统中,以供用户使用。

2 总体设计2.1 系统功能分析:系统通过调用函数来实现信息添加、信息查询、信息显示、信息修改、信息删除、以及数据读取保存文件等功能。

add()函数用于录入信息;search()函数用来查询信息;show()函数用来显示信息;alter()函数用来修改信息;del()函数用来删除信息;stat()函数用来统计信息read()函数用于将文件中的数据读取到内存中;save()函数用于将内存中的信息存入文件内;主函数main()用于调用这些函数。

管理信息系统课程设计报告范文免费 管理信息系统课程设计报告范文

管理信息系统课程设计报告范文免费 管理信息系统课程设计报告范文

管理信息系统课程设计报告范文免费管理信息系统课程设计报告范文本文是一份管理信息系统课程设计报告范文,旨在为广大学生提供参考,希望对大家的课程设计有所帮助。

一、项目背景随着大数据、人工智能等技术的快速发展,企业面临着管理信息系统的建设和升级的新需求。

因此,本项目旨在开发一款基于Web的企业管理信息系统,解决企业在日常运营中的管理与决策所面临的困难和挑战。

二、需求分析本项目主要面向企业的管理层和员工,旨在提供以下功能:1.员工管理:包括员工档案管理、考勤管理、薪资管理、绩效管理等。

2.部门管理:包括部门组织架构管理、部门绩效考核等。

3.客户管理:包括客户档案管理、销售管理等。

4.项目管理:包括项目计划管理、项目进度管理、项目成本管理等。

5.知识管理:包括企业文档管理、知识库管理等。

6.决策分析:包括数据统计与分析、报表生成、决策支持等。

三、系统架构本系统采用前后端分离技术,前端采用Vue.js框架,后端采用Node.js和MongoDB数据库。

具体架构如下图所示:四、功能实现1.员工管理:包括员工档案管理、考勤管理、薪资管理、绩效管理等。

员工档案管理功能截图如下:2.部门管理:包括部门组织架构管理、部门绩效考核等。

部门组织架构管理功能截图如下:3.客户管理:包括客户档案管理、销售管理等。

客户档案管理功能截图如下:4.项目管理:包括项目计划管理、项目进度管理、项目成本管理等。

项目计划管理功能截图如下:5.知识管理:包括企业文档管理、知识库管理等。

企业文档管理功能截图如下:6.决策分析:包括数据统计与分析、报表生成、决策支持等。

报表生成功能截图如下:五、结论与展望本项目成功地开发出了一款基于Web的企业管理信息系统,实现了员工管理、部门管理、客户管理、项目管理、知识管理和决策分析等功能。

但是,还存在一些问题需要进一步完善和升级,例如信息安全、用户体验等方面。

未来,我们将进一步完善和升级本系统,使其更加适应企业日常运营的需求。

职工信息管理系统设计报告

职工信息管理系统设计报告
prin tf("\n");
printf("请输入姓名:");
sca nf("%s",em[i]. name);
getchar();
printf("请输入性别(f--女m--男):");scanf("%c",&em[i].sex); printf("请输入年龄:");
{
case 1:del();break;
case 0:break;
default:break;
}
}
void add()
{FILEຫໍສະໝຸດ fp;int n;int coun t=0;
int i;
int m=load();
printf("\n原来的职工信息:\n");
display();
prin tf("\n");
进入查询信息:则屏幕会出现两个对话框一一 按员工,工号查找,查处相应的所需信息,当查询不 能显示需要时进入修改程序,把所输入的信息进行修 改,使之正确能够正常运行或进入删除信息中,重新 输入自己所要的信息。
当信息输入正确,进入你所需要的菜单程序中: 员工信息:显示员工工作号、性别、学历、等。
#in elude <stdio.h>
prin tf("\n%d\t\t%s\t%c\t\t%d\t\ n",em[i]. nu m,em[i]. name,em[i].sex,em[i].age);
printf("\n学历\t\t工资\t\t住址\t\t电话\n");
prin tf("\n%s\t%d\t\t%s\t%s\n",em[i].xueli,em[i].wage,em[i].addr,em[i].tel);

员工信息管理系统课程设计

员工信息管理系统课程设计

员工信息管理系统课程设计一、设计背景随着信息化时代的不断发展,各个企业机构对员工信息管理的重视程度越来越高。

许多企业都采用了数字化的员工信息管理系统来提高管理效率和降低管理成本。

设计一个员工信息管理系统课程,是一项非常有意义的任务,可以帮助学生了解信息系统的构建流程和信息管理的实际应用。

二、设计目标该课程设计的目标是帮助学生:1.了解员工信息管理的概念、目的和意义;2.了解信息系统开发的基本流程和方法;3.掌握系统需求分析和设计的基本方法和技巧;4.学习如何使用编程语言和开发工具开发员工信息管理系统;5.了解信息系统的运维和维护方法。

三、设计内容该课程设计的内容包括以下几个方面:1.员工信息管理概述概括介绍员工信息管理的定义、目的和意义,以及数字化员工信息管理系统的基本概念和应用效果。

2.信息系统开发流程介绍介绍信息系统开发的基本流程和方法,包括需求分析、系统设计、编程实现、测试和运维等方面。

3.需求分析和设计学习如何进行需求分析和设计,包括用户需求分析、过程建模、数据建模等方面的技巧和方法,并结合实际案例进行分析练习。

4.开发语言和工具介绍主流开发语言和工具,如Java、Visual Basic、SQL Server、MySQL等,以及如何使用这些工具进行开发。

5.系统实现将前面所学的知识和技巧应用到实际开发中,设计和实现一个完整的员工信息管理系统,在此过程中,培养学生的编码技能和实践能力。

6.系统维护介绍信息系统的维护方法,包括系统备份、维护、故障排除等方面,让学生了解信息系统维护的重要性和实际操作经验。

四、教学方法该课程采用多种教学方法:1.理论授课:教授员工信息管理的基本概念、信息系统的开发流程等基础理论知识。

2.课程实验:通过编程实践和案例分析的形式,让学生掌握系统需求分析和设计的基本方法和技巧,培养学生的实践能力。

3.科技论坛:邀请业界专家来校分享实际项目的设计和开发经验,让学生了解最新的技术和实践应用。

人事管理系统课程设计报告

人事管理系统课程设计报告

MIS课程设计报告二○○三年九月目录一、前言——————————————— 2二、系统概况————————————— 2三、需求分析————————————— 2 - 4四、数据库设计———————————— 5 - 7五、主程序清单———————————— 8六、模块界面————————————— 9 -11七、设计小结————————————— 12前言人事管理是每个企业必不可少的。

人事档案管理系统一般包括对人事档案的统计、查询、更新、报表输出等功能。

如果人工直接统计的话, 工作量将十分庞大, 特别是, 如果企业员工有几万或几十万人时, 人工统计将变得不可能想象。

用计算机可使人们从繁重而又单调的统计运算中解脱出来, 仅用一些简单的操作便可及时准确地获得需要的信息。

在设计一个系统时, 首先要做好需求分析。

合理地运用好Visual FoxPro的基本方法, 建立一个适合企业的人事管理系统。

系统概况课题名称:人事管理系统。

设计环境:开发工具: Microsoft Visual FoxPro 6.0操作系统: Windows XP需求分析一、系统功能分析二、人事管理系统的主要任务是对人事档案进行整理, 使得能方便快捷地对人事档案进行查询、统计、更新, 并且能按一定要求输出报表。

三、通过该系统, 使企业的人事管理工作系统化、规范化、自动化, 从而提高企业人事管理的效率。

四、系统功能模块设计块。

3、浏览模块该模块提供全部人事档案的界面。

4、查询模块该模块提供查询符合某一条件的人事档案的界面。

5、统计模块该模块提供按某一条件进行统计的界面。

6、编辑模块该模块提供对按档案进行更改、删除和新增的界面。

7、报表模块该模块按一定格式将人事档案以报表格式输出。

五、数据流图数据库设计1、创建数据库是设计系统的第一步, 其关键问题在于确定所需的表结构并为之建立索引。

为了使系统设计精练实用, 体现关系型数据库的特点, 本系统还为各相关表建立关系。

公司人员管理系统实训报告课程设计

公司人员管理系统实训报告课程设计

公司人员管理系统实训报告课程设计1沈阳工程学院课程设计设计题目: C++程序设计课程设计公司人员管理系统系别 xx 班级 xx学生姓名 XX学号 xx指导教师 xx 职称讲师副教授- 1 -起止日期: 年12月30日起——至年01月03日止- 2 -沈阳工程学院课程设计任务书课程设计题目: 公司人员管理系统系别信息学院班级计算本121学生姓名学号指导教师职称课程设计进行地点: F608任务下达时间: 12月01日起止日期: 12月30日起——至 01月03日止教研室主任年月日批准- 3 -一、课程设计的原始资料及依据公司人员管理系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,分析和设计一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的公司人员管理系统,为公司主管部门的决策者和管理者提供充分的信息、快捷的查询和有效的管理方式,减少不必要的损失和浪费,提高人员管理的效率。

二、课程设计主要内容及要求设计名称:公司人员管理系统设计内容:某小型公司,主要有四类人员:经理,兼职技术人员,销售经理和兼职推销员.1)人员信息包括姓名,编号,级别,当月薪水,计算月薪总额等2)能够显示这些人员的全部信息.3)添加删除功能:能根据公司人事的变动情况,添加删除记录;4)查询功能:能根据编号和姓名进行查询;5)保存功能:启动程序时能读取人员信息,关闭程序时能将信息保存至硬盘文件。

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

设计要求:(1) 要求在设计的过程中建立清晰的类层次,并画出类图;(2) 设计功能满足要求、易于操作的友好界面;- 4 -(3) 在系统的设计中,至少要用到面向对象的一种机制:继承、多态等;(4) 在完成该题目时,小组人员进行详细的任务分工,并要在报告中体现出来。

三、对课程设计说明书撰写内容、格式、字数的要求1.课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。

公司员工信息管理系统c++课程设计

公司员工信息管理系统c++课程设计

公司员工信息管理系统课程设计报告书学生班级:软工XXX班学生学号:1462XXXXX学生姓名:XX指导教师:XXX设计时间:2016.7.1山西大学目录一、课程设计的目的: (3)二、概念设计 (3)1. 总经理: (4)2. 技术部门: (4)3. 销售部门: (4)4. 财务部门: (4)5. 人力资源管理部: (5)三、系统流程分析: (5)四、过程展示: (6)1) 总经理: (7)2) 销售经理(销售员) (10)3) 技术员 (10)4) 人力资源部门员工 (10)5) 财务部门员工: (14)五、提升空间: (16)六、感想与总结: (17)七、部分源代码展示: (17)八、VIEW.cpp类的源代码显示: (30)一、课程设计的目的:为了解决公司职工信息的多样性和数据的混乱与繁杂,实现信息存取,查询,方便公司在信息方面有清晰的管理,提高公司的运营效率,本系统可以实现以上的功能。

二、概念设计总体关系图:公司员工管理系统总经理技术部门销售部门财务部门人力资源部门技术员销售经理工资输出员工信息输入工资信息输出销售员信息上传员工信息删除1.总经理:总经理是负责公司的大小事务的,所以总经理独立拥有查询员工工资的权利,总经理还可以独立输入个人信息到系统中,方便财务部门,人力资源部门等信息的统计。

2.技术部门:技术部门是由技术员组成的,技术员是技术部门的主要成员,所以技术员在技术部门内是特殊的存在,同样技术部门也拥有独立信息输入输出的权利。

3.销售部门:销售部门由销售经理和销售员组成,销售部门也是有独立的信息输入输出的权利,方便部门的信息统计和人员信息的查看。

4.财务部门:财务部门是公司财务统计的部门,掌管公司资金动向,还有员工工资发放,所以我给财务部门设置了工资查询的功能,让每个公司成员进入财务部查询自己的工资,同时财务部要负责把员工的工资信息上传到系统中去的功能。

5.人力资源管理部:主要功能是对员工信息的管理,所以在人力资源部门中可以实现队员工的信息持续添加的功能,方便了人力资源部的员工的工作了。

C++课程设计报告-公司人员信息管理系统模板

C++课程设计报告-公司人员信息管理系统模板

北华航天工业学院《基于C++的面向对象程序设计实例》课程设计报告报告题目:公司人员信息管理系统作者所在系部:计算机科学与工程系作者所在专业:计算机科学与技术作者所在班级:B09512作者姓名:指导教师姓名:完成时间:2010年6月北华航天工业学院教务处制摘要在当前的市场经济体制下,企业要想提高市场的竞争力,取得好的经济效益,不但要有好的产品和销售服务,还必须加强对公司内部的人员管理,以提高内部人员的凝聚力和积极性、提高工作效率等。

本文利用Visual C++6.0编写程序,实现了用户对公司人员的编号、姓名、性别、部门。

级别、工资等信息的管理操作。

本系统主要有八个功能模块:到添加信息子系统、查询信息子系统、统计子系统、显示子系统、修改子系统、删除子系统、保存子系统和读取子系统。

已经过全面的系统测试,能够很好的运行,达到了预期的效果。

本系统主要实现了对四类人员的管理:经理管理、销售人员管理、技术人员管理、销售经理管理;主要运用了继承友元等编程方法来实现对这些人员的管理。

关键词:系统设计人员管理信息公司目录第1章绪论 (1)1.1 课程设计的目的 (1)1.2 课程设计的背景和意义 (1)1.2.1 课程设计的背景 (1)1.2.2 课程设计的意义 (1)第2章需求分析 (2)2.1 问题描述 (2)2.2 功能描述 (2)2.3 问题的解决方案 (3)第3章系统设计 (4)3.1 数据设计 (4)3.1.1 类设计 (4)3.1.2 类之间的关系 (6)3.1.3 函数设计 (6)3.2 结构设计 (9)3.2.1 系统流程图 (9)3.2.2 界面设计 (12)第4章系统实现 (14)4.1 类实现 (14)4.2 函数实现 (25)4.3 主函数实现 (30)第5章系统测试 (32)5.1 模块测试 (32)5.2 课程设计过成中遇到的问题 (34)总结 (35)致谢 (36)参考文献 (37)第1章绪论1.1 课程设计的目的(1)要求学生能够熟练掌握C++语言的基本知识和技能。

人事管理系统课程设计报告

人事管理系统课程设计报告

人事管理系统课程设计报告一、选题背景随着计算机和互联网技术的快速发展,人事管理系统已经逐渐成为了现代企业管理中不可或缺的一部分。

人事管理系统作为企业管理中的核心内容之一,可以对企业人力资源的招聘、培训、薪资管理等方面进行科学合理的规划和管理,提高企业的管理效率和竞争力,实现企业长期稳健的发展。

随着人力资源管理的不断深入和发展,越来越多的企业开始重视人力资源信息化的建设。

人事管理系统已经成为了现代企业信息化建设中不可缺少的一部分。

因此,开发一款高效、实用、易用的人事管理系统,对于现代企业的管理和发展具有重要的意义。

二、研究目的本课程设计的主要目的是:1、针对现代企业的管理需求,设计一款实用、高效、易用的人事管理系统,提高企业的管理效率和竞争力。

2、通过设计和开发一个人事管理系统,培养学生的系统设计和开发能力,为学生日后进入企业从事相关工作打下坚实的基础。

三、研究内容1、需求分析。

根据企业的实际需求,确定人事管理系统的功能需求。

2、系统设计。

根据需求分析的结果,设计人事管理系统的系统架构、模块、数据模型等。

3、系统开发。

采用C#等编程语言,利用Visual Studio等开发工具,开发人事管理系统的各个模块。

4、系统测试。

对开发完成的人事管理系统进行测试和修改,确保系统的稳定性和正确性。

四、研究方法本课程设计采用如下研究方法:1、文献资料法。

通过查阅相关的文献资料,了解人事管理系统的基本原理和相关技术知识,为系统的设计和开发提供基础支持。

2、案例分析法。

结合实际的企业管理需求,分析已有的人事管理系统,总结其优点和不足之处,为本课程设计提供借鉴和参考。

3、实践操作法。

通过实际的设计和开发,熟悉人事管理系统的各个模块和技术特点,提高学生的实践能力和创新意识。

五、研究成果本课程设计的主要成果包括:1、人事管理系统需求分析报告。

根据企业的实际需求,对人事管理系统的各个功能模块进行分析和设计,确定系统的功能需求。

人力资源管理系统课程设计报告

人力资源管理系统课程设计报告

人力资源管理系统课程设计报告人力资源管理系统,简称HRMS,是一种基于计算机网络的管理系统,用于组织和管理企业内的人力资源。

其运用了各种信息技术手段来帮助企业更好地管理和优化企业内部的人力资源,实现人才战略的成功实施,提高企业运营的效率和质量。

本篇文档主要是一份对于HRMS课程设计报告的介绍和评价。

一、介绍本次HRMS课程设计报告是一份系统性的课程设计报告,其主要内容包括HRMS的基本介绍、系统的设计原则、系统架构、系统的功能模块、系统的技术应用和实际应用案例等。

本报告力求详细地阐述了HRMS的设计原则和系统架构,阐述了系统应用的技术细节和开发过程的关键问题,同时,详细介绍了系统的各项功能和实际应用案例,为读者提供了非常详尽的HRMS的学习和应用资料。

二、设计原则和系统架构在HRMS设计原则的阐述中,本报告明确了五项原则:人员优先、系统安全、系统集成、性能可靠和易用简便。

这五项原则针对人力资源管理系统的管理目的和企业的需求,提出了设计和开发的关键性原则,从而保障了系统的优质安全、稳定高效、易用方便。

在系统架构的设计中,本报告采用了面向对象程序设计的思想,将系统划分为客户端、服务器端和数据库三个部分,即通过将HRMS系统细化为三个层次的网络架构,从而达到良好的功能性和稳定性。

三、功能模块本报告所介绍的HRMS系统中包含了多个功能模块,包括员工信息管理、薪酬管理、绩效管理、培训和开发、招聘管理、人力资源分析等。

这些功能模块从不同角度出发,针对人力资源管理的多个维度,为企业提供有效的人才管理和运营支撑,从而达到提高企业内人力资源质量和效率的目的。

四、实际案例本报告介绍了HRMS在实际使用中的应用案例。

这些案例是企业在使用HRMS过程中所积累的数据和经验,其详实阐述了HRMS的有效性和实际应用的价值。

其中,不仅包括了HRMS的大型企业客户的案例,还包括了中小企业用户的案例,从而可以直观地了解HRMS在不同规模的企业中的运用效果和适用性。

c++公司人员信息管理系统课程设计报告

c++公司人员信息管理系统课程设计报告

目录2总体设计 (4)3详细设计及实现 (7)4系统调试 (69)5结论 (73)6心得体会 (74)7参考书目 (75)1系统需求分析1.1系统设计的目的与意义:现在的公司人员数量及职位种类较多,各样的人事管理活动也比较频繁,因此需要设计一个公司人员信息管理系统来对公司员工信息进行管理。

1.2系统功能需求:本系统有五个类:基类:employee、派生类:manager、technician、salesman、salesmanager,储存经理、技术人员、销售人员、销售经理信息。

(1)添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。

(2)查询功能可根据编号、姓名等信息对已添加的记录进行查询。

如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

(3)显示功能可显示当前系统中所有记录。

(4)修改功能可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

(5)删除功能对已添加的人员记录进行删除。

如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。

(6)统计功能能根据多种参数进行人员的统计。

例如:统计四类人员数量以及总数,统计男、女员工的数量,统计平均工资、最高工资、最低工资等。

(7)保存功能将当前系统中各类人员记录存入文件中。

(8)读取功能将保存在文件中的人员信息读入到当前系统中,以供用户使用。

2总体设计2.1系统功能分析:系统通过调用函数来实现信息添加、信息查询、信息显示、信息修改、信息删除、以及数据读取保存文件等功能。

add()函数用于录入信息;search()函数用来查询信息;show()函数用来显示信息;alter()函数用来修改信息;del()函数用来删除信息;stat()函数用来统计信息read()函数用于将文件中的数据读取到内存中;save()函数用于将内存中的信息存入文件内;主函数main()用于调用这些函数。

管理信息系统课程设计企业员工管理系统

管理信息系统课程设计企业员工管理系统

管理信息系统课程设计企业员工管理系统管理信息系统课程设计:企业员工管理系统概述:企业员工管理是组织中至关重要的一项任务。

为了提高管理效率和准确性,许多企业采用了管理信息系统(MIS)来帮助他们进行员工管理。

本文将对一个企业员工管理系统的设计进行讨论,并介绍其功能、结构以及优势。

一、系统需求分析1.1 系统背景企业员工管理系统是为了提高企业人力资源管理效率而设计的。

其主要目标是简化员工数据管理、提供可视化的员工数据分析、改进考勤和薪酬管理等。

1.2 功能需求(1)基本信息管理:包括员工的个人信息、工时、薪资等。

(2)考勤管理:记录员工的考勤情况并统计出勤率、迟到次数等指标。

(3)薪酬管理:计算员工工资、奖金等,并提供发放记录。

(4)绩效评估:评估员工的工作表现并制定相应的奖励或惩罚。

(5)培训管理:安排员工培训并记录培训结果。

(6)福利管理:管理员工的福利待遇,如健康保险、退休金等。

(7)报表和统计:生成各类员工管理报表和统计数据,以便管理层做出决策。

二、系统设计与架构2.1 系统架构(1)前端界面:提供用户友好的图形界面,方便员工和管理者使用。

(2)后端数据库:存储企业员工的相关数据,并提供数据的备份和恢复功能。

(3)服务器端:负责处理用户的请求,与数据库进行交互,并进行业务逻辑处理。

(4)系统接口:与其他系统进行数据交互,如财务系统、考勤机等。

(5)安全模块:确保系统数据的安全性和保密性。

2.2 数据库设计(1)员工信息表:包括员工ID、姓名、性别、出生日期、联系方式等。

(2)考勤记录表:存储员工的考勤信息,如日期、上班时间、下班时间等。

(3)工资表:记录员工的工资信息,包括基本工资、津贴等。

(4)绩效评估表:记录员工的绩效评估结果,包括评分、评价内容等。

三、系统功能实现3.1 基本信息管理用户可以在系统中录入员工的基本信息,并能够对已有信息进行修改和删除操作。

系统应提供搜索和筛选功能,以便快速找到需要的员工信息。

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

某某公司人员信息管理系统课程设计报告作者:XXX日期:2022年3月23日此文档格式为word,下载后可编辑修改。

目录1 系统需求分析22 总体设计33 详细设计及实现64 系统调试685 结论736心得体会737参考书目751 系统需求分析1.1系统设计的目的与意义:现在的公司人员数量及职位种类较多,各样的人事管理活动也比较频繁,因此需要设计一个公司人员信息管理系统来对公司员工信息进行管理。

1.2系统功能需求:本系统有五个类:基类:employee、派生类:manager、technician、salesman、salesmanager,储存经理、技术人员、销售人员、销售经理信息。

(1)添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。

(2)查询功能可根据编号、姓名等信息对已添加的记录进行查询。

如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。

(3)显示功能可显示当前系统中所有记录。

(4)修改功能可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。

(5)删除功能对已添加的人员记录进行删除。

如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。

(6)统计功能能根据多种参数进行人员的统计。

例如:统计四类人员数量以及总数,统计男、女员工的数量,统计平均工资、最高工资、最低工资等。

(7)保存功能将当前系统中各类人员记录存入文件中。

(8)读取功能将保存在文件中的人员信息读入到当前系统中,以供用户使用。

2 总体设计2.1 系统功能分析:系统通过调用函数来实现信息添加、信息查询、信息显示、信息修改、信息删除、以及数据读取保存文件等功能。

add()函数用于录入信息;search()函数用来查询信息;show()函数用来显示信息;alter()函数用来修改信息;del()函数用来删除信息;stat()函数用来统计信息read()函数用于将文件中的数据读取到内存中;save()函数用于将内存中的信息存入文件内;主函数main()用于调用这些函数。

2.2系统功能模块划分与设计:系统定义了manger类、technician类、salesman类、salesmanger类这四个类,定义了add()、search()、show()、alter()、del()、stat()、read()、save()、input()、output()等函数来实现系统所需功能。

2.3 系统功能模块图:2.4 类的设计(1)employee类(抽象类)的设计图 3.1 employee类(2)经理类的设计图 3.2经理类(3)技术人员类的设计图 3.3技术人员类(4)销售人员类的设计图3.4 销售人员类(5)成绩类的设计图3.5销售经理类(6)各个类的关系描述3 详细设计及实现3.1employee类(抽象类)的实现#include<string>using namespace std;class employee{public:employee(void);~employee(void); virtual void add()=0; virtual void search()=0; virtual void show()=0; virtual void alter()=0; virtual void del()=0; virtual void stat()=0; virtual void save()=0; virtual void read()=0; virtual void input()=0; virtual void output()=0; protected:string number;string name;string sex;string department; string rank;float salary;};3.2经理类的实现manager.h#include "employee.h" class manager :virtual public employee {public:manager(void);~manager(void);void add();void search();void show();void alter();void del();void stat();void save();void read();void input();void output();};manager.cpp#include "StdAfx.h"#include "manager.h"#include<iostream>#include<fstream>#include<string>#include<iomanip>using namespace std;const int MAX=100;manager M[MAX];int static top1=0;manager::manager(void){}manager::~manager(void){}void manager::input(){cout<<"输入编号:"<<endl;cin>>number;cout<<"输入姓名:"<<endl;cin>>name;cout<<"输入性别:"<<endl;cin>>sex;cout<<"输入部门:"<<endl;cin>>department;cout<<"输入级别:"<<endl;cin>>rank;cout<<"输入固定月薪:"<<endl;cin>>salary;}void manager::output(){ cout<<number<<"\t"<<name<<"\t"<<sex<<"\t"<<department<<"\t"<<rank<<"\t "<<salary<<endl;}void manager::read(){top1=0;system("cls");ifstream inflie("经理.txt",ios::in);if(!inflie){cout<<"打开失败!"<<endl;return;}int i=0;while(inflie>>M[i].number>>M[i].name>>M[i].sex>>M[i].department>>M[i].rank> >M[i].salary){i++;top1=i;}inflie.close();}void manager::save(){ofstream outflie("经理.txt",ios::out);if(!outflie){cout<<"打开失败!"<<endl;return;}int i;for(i=0;i<top1;i++){outflie<<M[i].number<<"\t"<<M[i].name<<"\t"<<M[i].sex<<"\t"<<M[i].department< <"\t"<<M[i].rank<<"\t"<<M[i].salary<<endl;}cout<<"保存成功!"<<endl;outflie.close();}void manager::add(){system("cls");read();if(top1>=MAX){cout<<"人员已满"<<endl;return;}cout<<"输入要添加的编号:"<<endl;string n;cin>>n;for(int i=0;i<top1;i++)if(n==M[i].number){cout<<"该编号的人员已存在"<<endl;return;}manager m;cout<<"请再次输入新添加人员的信息"<<endl;m.input();cout<<"是否确认添加?1、是2、否"<<endl;int a;cin>>a;if(a==1){M[top1]=m;top1=top1+1;save();}else{cout<<"放弃添加"<<endl;return;}}void manager::search(){system("cls");read();if(top1==0){cout<<"当前系统没有储存记录!"<<endl;return;}int choice;cout<<"请选择查找方式:1、按编号查找2、按姓名查找0、退出"<<endl; cin>>choice;switch(choice){case 1:{cout<<"请输入要查找的编号:"<<endl;string num;cin>>num;for(int i=0;i<top1;i++){if(M[i].number==num){cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();return;}}cout<<"查无此人!"<<endl;};break;case 2:{cout<<"请输入要查找的姓名"<<endl;string name;cin>>name;for(int i=0;i<top1;i++){if(M[i].name==name){cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();}}cout<<"查无此人!"<<endl;};break;case 0:break;default:cout<<"输入错误!请输入0~3的数字"<<endl;system("pause");search();break;}}void manager::show(){system("cls");if(top1==0){cout<<"无数据!"<<endl;return;}cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;for(int i=0;i<top1;i++)M[i].output();}void manager::alter(){system("cls");read();if(top1==0){cout<<"当前系统没有储存记录"<<endl;return;}string num;cout<<"请输入要修改的经理编号:"<<endl;cin>>num;for(int i=0;i<top1;i++){if(M[i].number==num){cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();cout<<"请选择修改范围:1、全部修改2、修改编号3、修改姓名4、修改性别"<<endl;cout<<" 5、修改部门6、修改级别7、修改月薪"<<endl; cout<<" 0、退出修改"<<endl;int choice;cin>>choice;switch(choice){case 1:{cout<<"输入修改后的编号:"<<endl;string n;for(int j=0;j<top1;j++)if(n==M[j].number){cout<<"该编号的人员已存在"<<endl;return;}cout<<"输入修改后的姓名:"<<endl;string na;cin>>na;cout<<"输入修改后的性别:"<<endl;string s;cin>>s;cout<<"输入修改后的部门:"<<endl;string d;cin>>d;cout<<"输入修改后的级别:"<<endl;string r;cin>>r;cout<<"输入修改后的月薪:"<<endl;float sa;cin>>sa;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1){M[i].number=n;M[i].name=na;M[i].sex=s;M[i].department=d;M[i].rank=r;M[i].salary=sa;}else{cout<<"放弃修改"<<endl;return;}save();};break;case 2:{cout<<"请输入修改后的编号"<<endl;string n;cin>>n;for(int i=0;i<top1;i++)if(n==M[i].number){cout<<"该编号的人员已存在"<<endl;return;}cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)M[i].number=n;else{cout<<"放弃修改"<<endl;return;}save();};break;case 3:{cout<<"请输入修改后的姓名"<<endl;string na;cin>>na;M[i].name=na;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)M[i].name=na;else{cout<<"放弃修改"<<endl;return;}save();};break;case 4:{cout<<"请输入修改后的性别"<<endl;string s;cin>>s;M[i].sex=s;cout<<"是否确认修改?1、是2、否"<<endl; int a;cin>>a;if(a==1)M[i].sex=s;else{cout<<"放弃修改"<<endl;return;}save();};break;case 5:{cout<<"请输入修改后的部门"<<endl;string d;cin>>d;M[i].department=d;cout<<"是否确认修改?1、是2、否"<<endl; int a;cin>>a;if(a==1)M[i].department=d;else{cout<<"放弃修改"<<endl;return;}save();};break;case 6:{cout<<"请输入修改后级别"<<endl;string r;cin>>r;M[i].rank=r;cout<<"是否确认修改?1、是2、否"<<endl; int a;cin>>a;if(a==1)M[i].rank=r;else{cout<<"放弃修改"<<endl;return;}save();};break;case 7:{cout<<"请输入修改后的月薪"<<endl;float sa;cin>>sa;M[i].salary=sa;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)M[i].salary=sa;else{cout<<"放弃修改"<<endl;return;}save();};break;case 0:cout<<"退出修改"<<endl;return;break;default:cout<<"无此选项!请输入0~7的数字"<<endl;system("pause");break;}cout<<"修改完成"<<endl;return;}}cout<<"查无此人"<<endl;}void manager::del(){system("cls");read();if(top1==0){cout<<"当前系统没有储存记录"<<endl;return;}int choice;cout<<"请删除查找方式:1、按编号删除2、按姓名删除0、退出"<<endl; cin>>choice;switch(choice){case 1:{cout<<"请输入所要删除人员的编号:"<<endl;string num;cin>>num;for(int i=0;i<top1;i++){if(M[i].number==num){cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();cout<<"是否确认删除?1、是2、否"<<endl;int choice;cin>>choice;switch(choice){case 1:{for(int j=i;j<top1;j++)M[j]=M[j+1];cout<<"删除成功!"<<endl;top1=top1-1;};save();break;case 2:return;default:cout<<"没有此选项!"<<endl;}return;}}cout<<"无此人!"<<endl;};system("pause");del();break;case 2:{cout<<"请输入所要删除人员的姓名:"<<endl;string name;cin>>name;for(int i=0;i<top1;i++){if(M[i].name==name){cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();cout<<"是否确认删除?1、是2、否"<<endl;int choice;cin>>choice;switch(choice){case 1:{for(int j=i;j<top1;j++)M[j]=M[j+1];cout<<"删除成功!"<<endl;top1=top1-1;};save();break;case 2:return;default:cout<<"没有此选项!"<<endl;}}}return;cout<<"无此人!"<<endl;};break;case 0:break;default:cout<<"输入错误!请输入0~3的数字"<<endl;system("pause");del();break;}save();}void manager::stat(){system("cls");read();int choice;cout<<"1、人数统计2、性别统计3、平均工资4、最高工资5、最低工资0、退出"<<endl;cout<<"请输入所要执行的编号:"<<endl;cin>>choice;switch(choice){case 1:cout<<"经理的人数为:"<<top1<<endl;system("pause");stat();break; case 2:{int a=0,b=0;string Y="男";string X="女";for(int i=0;i<top1;i++){if(M[i].sex==Y)a++;if(M[i].sex==X)b++;}cout<<"男性人数:"<<a<<endl;cout<<"女性人数:"<<b<<endl; };system("pause");stat();break;case 3:{float ave_salary=0;float all_salary=0;for(int i=0;i<top1;i++){all_salary=M[i].salary+all_salary;}ave_salary=all_salary/top1;cout<<"平均工资:"<<ave_salary;};system("pause");stat();break;case 4:{float max_salary=0;for(int i=0;i<top1-1;i++){if(M[i].salary>M[i+1].salary){max_salary=M[i].salary;M[i+1].salary=max_salary;}elsemax_salary=M[i+1].salary;}cout<<"最高工资:"<<max_salary;};system("pause");stat();break;case 5:{float min_salary=0;for(int i=0;i<top1-1;i++){if(M[i].salary<M[i+1].salary){min_salary=M[i].salary;M[i+1].salary=min_salary;}elsemin_salary=M[i+1].salary;}cout<<"最低工资:"<<min_salary;};system("pause");stat();break;case 0:break;default: cout<<"无此选项!请输入0~5的数字"<<endl;system("pause");stat();break;}}3.3技术人员类的实现technician.h#include "employee.h"class technician :public employee{public:technician(void);~technician(void);void add();void search();void show();void alter();void del();void stat();void save();void read();void input();void output();protected:float work_time;float time_salary;};technician.cpp#include "StdAfx.h"#include "technician.h"#include<iostream>#include<fstream>#include<string>#include<iomanip>using namespace std;const int MAX=100;technician T[MAX];int static top2=0;technician::technician(void){}technician::~technician(void){}void technician::input(){cout<<"请输入输入编号:"<<endl;cin>>number;cout<<"请输入输入姓名:"<<endl;cin>>name;cout<<"请输入输入性别:"<<endl;cin>>sex;cout<<"请输入输入部门:"<<endl;cin>>department;cout<<"请输入输入级别:"<<endl;cin>>rank;cout<<"请输入输入工时:"<<endl;cin>>work_time;cout<<"请输入输入时薪:"<<endl;cin>>time_salary;salary=time_salary*work_time;}void technician::output(){ cout<<number<<"\t"<<name<<"\t"<<sex<<"\t"<<department<<"\t"<<rank<<"\t" <<work_time<<"\t"<<time_salary<<"\t"<<salary<<endl;}void technician::read(){top2=0;system("cls");ifstream inflie("技术人员.txt",ios::in);if(!inflie){cout<<"打开失败!"<<endl;return;}int i=0;while(inflie>>T[i].number>>T[i].name>>T[i].sex>>T[i].department>>T[i].rank>>T[i ].work_time>>T[i].time_salary>>T[i].salary){i++;top2=i;}inflie.close();}void technician::save(){ofstream outflie("技术人员.txt",ios::out);if(!outflie){cout<<"打开失败!"<<endl;return;}int i;for(i=0;i<top2;i++){outflie<<T[i].number<<"\t"<<T[i].name<<"\t"<<T[i].sex<<"\t"<<T[i].department<<" \t"<<T[i].rank<<"\t"<<T[i].work_time<<"\t"<<T[i].time_salary<<"\t"<<T[i].salary<< endl;}cout<<"保存成功!"<<endl;outflie.close();}void technician::add(){system("cls");read();if(top2>=MAX){cout<<"人员已满"<<endl;return;}cout<<"输入要添加的编号:"<<endl;string n;cin>>n;for(int i=0;i<top2;i++)if(n==T[i].number){cout<<"该编号的人员已存在"<<endl;return;}technician t;cout<<"请再次输入新添加人员的信息"<<endl;t.input();cout<<"是否确认添加?1、是2、否"<<endl;int a;cin>>a;if(a==1){T[top2]=t;top2=top2+1;save();}else{cout<<"放弃添加"<<endl;return;}}void technician::search(){system("cls");read();if(top2==0){cout<<"当前系统没有储存记录!"<<endl;return;}int choice;cout<<"请选择查找方式:1、按编号查找2、按姓名查找0、退出"<<endl; cin>>choice;switch(choice){case 1:{cout<<"请输入要查找的编号:"<<endl;string num;cin>>num;for(int i=0;i<top2;i++){if(T[i].number==num){cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();return;}}cout<<"查无此人!"<<endl;};break;case 2:{cout<<"请输入要查找的姓名"<<endl;string name;cin>>name;for(int i=0;i<top2;i++){if(T[i].name==name){cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();return;}}cout<<"查无此人!"<<endl;};break;case 0:break;default:cout<<"输入错误!请输入0~3的数字"<<endl;system("pause");search();break;}}void technician::show(){system("cls");read();if(top2==0){cout<<"无数据!"<<endl;return;}cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;for(int i=0;i<top2;i++)T[i].output();}void technician::alter(){system("cls");read();if(top2==0){cout<<"当前系统没有储存记录"<<endl;return;}string num;cout<<"请输入要修改的技术人员编号:"<<endl;cin>>num;for(int i=0;i<top2;i++){if(T[i].number==num){cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();cout<<"请选择修改范围:1、全部修改2、修改编号3、修改姓名4、修改性别"<<endl;cout<<" 5、修改部门6、修改级别7、修改工时8、修改时薪"<<endl;cout<<" 0、退出修改"<<endl;int choice;cin>>choice;switch(choice){case 1:{cout<<"输入修改后的编号:"<<endl;string n;cin>>n;for(int j=0;j<top2;j++)if(n==T[j].number){cout<<"该编号的人员已存在"<<endl;return;}cout<<"输入修改后的姓名:"<<endl;string na;cin>>na;cout<<"输入修改后的性别:"<<endl;string s;cin>>s;cout<<"输入修改后的部门:"<<endl;string d;cin>>d;cout<<"输入修改后的级别:"<<endl;string r;cin>>r;cout<<"输入修改后的工时:"<<endl;float wt;cin>>wt;cout<<"输入修改后的工时:"<<endl;float ts;cin>>ts;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1){T[i].number=n;T[i].name=na;T[i].sex=s;T[i].department=d;T[i].rank=r;T[i].work_time=wt;T[i].time_salary=ts;T[i].salary=wt*ts;}else{cout<<"放弃修改"<<endl;return;}save();};break;case 2:{cout<<"请输入修改后的编号"<<endl;string n;cin>>n;for(int i=0;i<top2;i++)if(n==T[i].number){cout<<"该编号的人员已存在"<<endl;return;}cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)T[i].number=n;else{cout<<"放弃修改"<<endl;return;}save();};break;case 3:{cout<<"请输入修改后的姓名"<<endl;string na;cin>>na;T[i].name=na;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)T[i].name=na;else{cout<<"放弃修改"<<endl;return;}save();};break;case 4:{cout<<"请输入修改后的性别"<<endl;string s;cin>>s;T[i].sex=s;cout<<"是否确认修改?1、是2、否"<<endl; int a;cin>>a;if(a==1)T[i].sex=s;else{cout<<"放弃修改"<<endl;return;}save();};break;case 5:{cout<<"请输入修改后的部门"<<endl;string d;cin>>d;T[i].department=d;cout<<"是否确认修改?1、是2、否"<<endl; int a;cin>>a;if(a==1)T[i].department=d;else{cout<<"放弃修改"<<endl;return;}save();};break;case 6:{cout<<"请输入修改后级别"<<endl;string r;cin>>r;T[i].rank=r;cout<<"是否确认修改?1、是2、否"<<endl; int a;cin>>a;if(a==1)T[i].rank=r;else{cout<<"放弃修改"<<endl;return;}save();};break;case 7:{cout<<"请输入修改后的工时"<<endl;float wt;cin>>wt;T[i].work_time=wt;cout<<"是否确认修改?1、是2、否"<<endl; int a;cin>>a;if(a==1){T[i].work_time=wt;T[i].salary=T[i].time_salary*wt;}else{cout<<"放弃修改"<<endl;return;}save();};break;case 8:{cout<<"请输入修改后的时薪"<<endl;float ts;cin>>ts;T[i].time_salary=ts;cout<<"是否确认修改?1、是2、否"<<endl; int a;cin>>a;if(a==1){T[i].time_salary=ts;T[i].salary=T[i].work_time*ts;}else{cout<<"放弃修改"<<endl;return;}save();};break;case 0:cout<<"退出修改"<<endl;return;break;default:cout<<"无此选项!请输入0~8的数字"<<endl;system("pause");break;}cout<<"修改完成"<<endl;return;}}cout<<"查无此人"<<endl;}void technician::del(){system("cls");read();if(top2==0){cout<<"当前系统没有储存记录"<<endl;return;}int choice;cout<<"请删除查找方式:1、按编号删除2、按姓名删除0、退出"<<endl; cin>>choice;switch(choice){case 1:{cout<<"请输入所要删除人员的编号:"<<endl;string num;cin>>num;for(int i=0;i<top2;i++){if(T[i].number==num){cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();cout<<"是否确认删除?1、是2、否"<<endl;int choice;cin>>choice;switch(choice){case 1:{for(int j=i;j<top2;j++)T[j]=T[j+1];cout<<"删除成功!"<<endl;top2=top2-1;};save();break;case 2:return;default:cout<<"没有此选项!"<<endl;}return;}}cout<<"无此人!"<<endl;};system("pause");del();break;case 2:{cout<<"请输入所要删除人员的姓名:"<<endl;string name;cin>>name;for(int i=0;i<top2;i++){if(T[i].name==name){cout<<"编号"<<"\t"<<"姓名"<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();cout<<"是否确认删除?1、是2、否"<<endl;int choice;cin>>choice;switch(choice){case 1:{for(int j=i;j<top2;j++)T[j]=T[j+1];cout<<"删除成功!"<<endl;top2=top2-1;};save();break;case 2:break;default:cout<<"没有此选项!"<<endl;}}}return;cout<<"无此人!"<<endl;};system("pause");del();break;case 0:break;default:cout<<"输入错误!请输入0~3的数字"<<endl;system("pause");del();break;}save();}void technician::stat(){system("cls");read();int choice;cout<<"1、人数统计2、性别统计3、平均工资4、最高工资5、最低工资0、退出"<<endl;cout<<"请输入所要执行的编号:"<<endl;cin>>choice;switch(choice){case 1:cout<<"技术人员的人数为:"<<top2<<endl;system("pause");stat();break; case 2:{int a=0,b=0;string Y="男";string X="女";for(int i=0;i<top2;i++){if(T[i].sex==Y)a++;if(T[i].sex==X)b++;}cout<<"男性人数:"<<a<<endl;cout<<"女性人数:"<<b<<endl;};system("pause");stat();break;case 3:{float ave_salary=0;float all_salary=0;for(int i=0;i<top2;i++){。

相关文档
最新文档