员工管理系统(精编文档).doc

合集下载

职工管理系统

职工管理系统

目录一系统的背景2二系统的编译环境和语言2三系统类的设计33.1 类的对象:33.2 类的属性列表:33.3 类的行为:33.4 具体代码如下:3四系统运行入口的设计11五运行步骤13六数据文件16七参考文献16一系统的背景从事商业活动的公司迫切需要这样一个系统:它能高效的管理公司内部所有员工的个人信息,并能正确快速的对系统的使用者的操作做出回应,以提高效率,降低成本。

该系统能够满足以上的要求,使用户可以快速准确的管理公司员工的信息。

二系统的编译环境和语言该系统是采用C++语言在Turbo c下编译而成,。

因为在该系统中有明显的对象,即是公司的员工,且C++语言是一个非常强大的面向对象的语言,因此该系统使用C++编写将会简单,快速而有效。

Turbo C是一个经典且功能强大的编译器,是编译用C++语言写成的程序的首要工具。

三系统类的设计3.1 类的对象:系统有两个类:Employee :对象是公司里的每一个员工,是系统中最重要的类。

DBOperate :对象是系统的数据文件,完成对员工信息的保存和读取。

3.2 类的属性列表:Employee :员工的编号:EmployeeNum (long)员工的姓名:EmployName (string)员工所属部门:EmployeeDepart (string)员工级别:EmployeeGrade (string)员工工资:EmployeePay (float)员工工龄:EmpoyeeWorkTime (long)3.3 类的行为:Employee :添加新员工信息:NewInfo();员工信息浏览:ShowInfo();员工信息变更:RefreshInfo();发放工资:Pay(int EG);//EG为员工级别解聘员工:DeleteInfo();DBOperate :保存员工信息:WriteIn(int iflag);读取员工信息:ReadOut();更新员工总人数:RefreshMaxNum(int iflag);注释:当iflag 为1时,人数增大;为零时,人数不变,即是修改;为-1时,人数减少。

简单的员工管理系统

简单的员工管理系统

1、问题描述:对单位的职工进行管理,包括插入、删除、查找、排序等功能。

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

(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。

(2)删除一名职工:从职工管理文件中删除一名职工对象。

(3)查询:从职工管理文件中查询符合某些条件的职工。

(4)修改:检索某个职工对象,对其某些属性进行修改。

(5)排序:按某种需要对职工对象文件进行排序。

3、实现功能(1)由键盘输入职工对象,以文件方式保存。

程序执行时先将文件读入内存。

(2)对职工对象中的“姓名”按字典顺序进行排序。

(3)对排序后的职工对象进行增、删、查询、修改、排序等操作。

4、代码:#include <stdlib.h>#include <stdio.h>#include <malloc.h>#include <string.h>typedef struct worker{int id;char name[20];char sex[3];int age;char edu[50];int wages;char adr[255];char phone[13];}WORKER, *PWORKER;//typedef struct WORKER *PWORKER;typedef struct link{WORKER w;struct link *next;}LINK, *PLINK;//typedef struct LINK *PLINK;/*创建职工信息链表*/PLINK create(){PLINK p=(PLINK)malloc(sizeof(LINK));if(NULL!=p){p->next=NULL;return p;}printf("内存不足!\n");return NULL;}/*显示程序界面文字*/void message(){printf("\t\t************************************************\n\n"); printf("\t\t>>>>>>>>>>>>>>欢迎进入职工管理系统<<<<<<<<<<<<<<\n\n"); printf("\t\t************************************************\n\n"); printf("\t\t ************** Choose Function *************\n\n");printf("\t\t ************ 帮助请输入:0************\n\n"); printf("\t\t ************录入职工信息请输入:1************\n\n"); printf("\t\t ************浏览职工信息请输入:2************\n\n"); printf("\t\t ************查询职工信息请输入:3************\n\n"); printf("\t\t ************删除职工信息请输入:4************\n\n"); printf("\t\t ************修改职工信息请输入:5************\n\n"); printf("\t\t ************ 清屏请输入:6************\n\n"); printf("\t\t ************ 退出请输入:-1***********\n\n");printf("\t\t************************************************\n\n"); printf("\t\t************************************************\n\n"); }void find_sr(PLINK plink, char* str){for(PLINK curr = plink->next; curr != NULL; curr = curr->next){if(strcmp(curr->, str) == 0){printf("职工工号:%d\n",curr->w.id);printf("职工姓名:%s\n",curr->);printf("职工性别:%s\n",curr->w.sex);printf("职工年龄:%d\n",curr->w.age);printf("职工学历:%s\n",curr->);printf("职工工资:%d\n",curr->w.wages);printf("职工住址:%s\n",curr->w.adr);printf("职工电话:%s\n",curr->w.phone);}}}void findid(PLINK plink, int id){for(PLINK curr = plink->next; curr != NULL; curr = curr->next){if(curr->w.id == id){printf("职工工号:%d\n",curr->w.id);printf("职工姓名:%s\n",curr->);printf("职工性别:%s\n",curr->w.sex);printf("职工年龄:%d\n",curr->w.age);printf("职工学历:%s\n",curr->);printf("职工工资:%d\n",curr->w.wages);printf("职工住址:%s\n",curr->w.adr);printf("职工电话:%s\n",curr->w.phone);}}}void show(PLINK plink){for(PLINK curr = plink->next;curr != NULL; curr = curr->next){printf("职工工号:%d\n",curr->w.id);printf("职工姓名:%s\n",curr->);printf("职工性别:%s\n",curr->w.sex);printf("职工年龄:%d\n",curr->w.age);printf("职工学历:%s\n",curr->);printf("职工工资:%d\n",curr->w.wages);printf("职工住址:%s\n",curr->w.adr);printf("职工电话:%s\n",curr->w.phone);}}/*录入职工信息*/int add(PLINK p){PLINK h = NULL;PLINK q=(PLINK)malloc(sizeof(LINK));if(NULL==q){printf("录入失败提示:内存不足!\n");return -1;}printf("请输入职工号(数字):");scanf("%d",&q->w.id);h=p->next;while(h){if(h->w.id==q->w.id){free(q);printf("录入失败提示:此职工号已经存在!\n");return -1;}h=h->next;}printf("请输入职工姓名(文字):");scanf("%s",&q->);printf("请输入职工性别(文字):");scanf("%s",&q->w.sex);printf("请输入职工年龄(数字):");scanf("%d",&q->w.age);printf("请输入职工学历(文字):");scanf("%s",&q->);printf("请输入职工工资(数字):");scanf("%d",&q->w.wages);printf("请输入职工住址(文字):");scanf("%s",&q->w.adr);printf("请输入职工电话(数字):");scanf("%s",&q->w.phone);q->next=p->next;p->next=q;printf(".^_^.录入成功!.^_^.\n");return -1; }/*按姓名查询*/PLINK findname(PLINK p,char *name){message();printf("按姓名查询\n");printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n");while(NULL!=p->next){if(0==strcmp(p->next->,name)){printf("%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",p->next->w.id,p->next->,p->next->w.sex,p->next->w.adr,p->next->,p->next->w.wages,p->next->w.adr,p->next->w.phone);return p;}p=p->next;}printf(".^_^.查询结束!.^_^.\n");return NULL;}/*按职工号删除职工信息*/int del(PLINK p,int id){message();printf("按职工号删除职工信息\n");while(NULL!=p->next){if(p->next->w.id==id){PLINK q=p->next;p->next=p->next->next;free(q);printf(".^_^.删除成功!.^_^.\n");return 1;}p=p->next;}printf("没有你输入的职工号!\n");return -1;/*程序结束释放内存*/void release(PLINK p){PLINK q;while(NULL!=p->next){q=p;p=p->next;free(q);}free(p);}/*查询调用*/void search(){int id;char name[20];char str[20];PLINK pworker;int l;printf("\t\t\t\t*姓名查找按:1*\n");printf("\t\t\t\t*学历查找按:2*\n");printf("\t\t\t\t*职工号查按:3*\n");scanf("%d",&l);if(l>0&&l<4){switch(l){case 1:printf("请输入要查询的职工姓名:");scanf("%s",name);findname(pworker,name);break;case 2:printf("请输入要查询的职工学历: ");scanf("%s", str);find_sr(pworker, str);break;case 3:printf("请输入要查询的职工号:");scanf("%d",&id);findid(pworker,id);break;}printf("\n\n选择完毕!!!");}else printf("\t\t\t\t输入有误!!!");/*修改职工信息*/int modify(PLINK p){int id;PLINK q;PLINK h = NULL;printf("请输入职工号(数字):");scanf("%d",&id);h=p->next;while(h){if(h->w.id==id){break;}h=h->next;}if (h == NULL){printf("找不到此职工,请重试\n");return -1;}printf("请输入职工姓名(文字):");scanf("%s",&h->);printf("请输入职工性别(文字):");scanf("%s",&h->w.sex);printf("请输入职工年龄(数字):");scanf("%d",&h->w.age);printf("请输入职工学历(文字):");scanf("%s",&h->);printf("请输入职工工资(数字):");scanf("%d",&h->w.wages);printf("请输入职工住址(文字):");scanf("%s",&h->w.adr);printf("请输入职工电话(数字):");scanf("%s",&h->w.phone);q->next=p->next;p->next=q;printf(".^_^.修改成功!.^_^.\n");return -1;}int main(){int cmd=0;int id;char name[20];char str[20];PLINK pworker;if(!(pworker=create())){exit(0);}while(cmd!=-1){switch(cmd){case 0: message(); break;case 1: add(pworker); break;case 2: show(pworker); break;case 3: search(); break;case 4: printf("请输入要删除的职工号:");scanf("%d",&id);del(pworker,id);break;case 5: modify(pworker); break;case 6: message(); break;}printf("请输入操作命令数字:\n");scanf("%d",&cmd);}printf("\t\t>>>>>>>>>>>>>>>>>>>>谢谢使用<<<<<<<<<<<<<<<<<<<<\n\n");release(pworker);return 0;}4.测试结果:5.总结:本次课程设计是围绕数据结构进行。

(完整word版)员工管理系统

(完整word版)员工管理系统

一系统层次模块图总的系统模块主要包括:管理员的登陆;员工信息查看、修改、删除、增加;职位信息修改、删除、增加;部门信息修改、删除、增加;签到信息管理等功能模块。

总的系统功能结构图,如图2-1所示:图2-1 总的系统层次模块图系统设计流程图如2-3图所示:图2-3 系统设计流程图一个员工对应一个职位,一个员工对应一个部门,一个员工对应一个签到信息。

员工与相关信息表的E-R图如图3-5所示:1. admin(管理员信息表)管理员信息表用来存储管理员的基本信息。

其中包括管理员用户名和管理员登录密码等字段,表admin的结构如表3-1所示:字段名数据类型长度是否主键描述Id int 4 是唯一标识ldy_str_uname varchar30管理员用户名ldy_str_pwd varchar 20 登陆密码2. users (员工信息表)员工信息表(users)此表主要用于存储员工的相关信息,包括员工编号,员工名,员工地址,员工性别,员工备注,员工年龄以及与各表连接的相关字段等。

表users的结构如表3-2所示。

3. dep(部门信息表)此表主要用于存储部门的信息,包括部门编号,部门名称,部门备注等。

表dep的结构如表3-3所示。

4. job(职位信息表)职位信息表主要用于保存各类职位信息,包括职位编号,职位名称,职位工资,职位备注等字段。

表job的结构如表3-4所示。

5. qiandao(签到信息表)签到信息表主要用于保存员工签到信息,包括签到编号,员工编号,签到次数等字段。

表qiandao的结构如表3-5所示。

公司员工管理系统

公司员工管理系统

目录一设计要求 (1)二系统分析 (1)三系统的功能模块 (3)四系统测试 (17)五心得及体会 (21)六参考文献 (22)普通员工管理员经理查看个人信息部门管理员工管理用户管理查看公司所有员工信息登陆5)系统流程图如下:7)系统整体E-R图如下:三、系统的功能模块1、登陆界面的设计与实现登陆界面使用了picturebox与textbox控件,两个textbox用于帐号与密码的输入,picturebox主要用于界面美化。

代码如下:public partial class 登录界面 :Form{public 登录界面(){InitializeComponent();2、主界面的设计与实现主界面使用了button控件、timer控件以及label控件和skinEngine控件,timer 用于获取当前时间,显示日期,button控件用于执行点击时间进行对信息的管理,label 主要用于显示的当前登录用户的用户名,以及权限,skinEngine控件用于界面皮肤的美化。

代码如下:public partial class 主界面 : Form{public 主界面(){InitializeComponent();}private void 主界面_Load(object sender, EventArgs e){Win32.AnimateWindow(this.Handle, 300, Win32.AW_CENTER | Win32.AW_ACTIVATE | Win32.AW_SLIDE);this.skinEngine1.SkinFile = "WarmColor2.ssk";label1.Text =Convert.ToString("欢迎"+ername+"~");label2.Text = "您的权限为:" + Power.getPower;if (Power.getPower == "管理员"){}else if (Power.getPower == "经理"){btn_UserM.Enabled = false;btn_Add.Visible = false;代码如下:public partial class 个人信息 : Form{public 个人信息(){InitializeComponent();}private void 个人信息_Load(object sender, EventArgs e){Win32.AnimateWindow(this.Handle, 500, Win32.AW_HOR_POSITIVE );SqlConnection connection = BaseClass.ADOConn.PersonManagerSys();connection.Open();SqlCommand tmd = new SqlCommand("select 姓名 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_Name.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 性别 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_Sex.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 部门编号 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_Belong.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 身份证号 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_IdCard.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 职位 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_Job.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 地址 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_Address.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 电话 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_Phone.Text = Convert.ToString(tmd.ExecuteScalar());tmd = new SqlCommand("select 工号 from 员工信息表 where 工号='" + Username.PerNum + "'", connection);lb_PerNum.Text = Convert.ToString(tmd.ExecuteScalar());connection.Close();}}4、用户管理界面的设计与实现此界面用了datagridview控件来绑定用户数据,以及三个button控件来管理用户信息。

公司员工管理系统

公司员工管理系统

公司员工管理系统第一部分:项目背景与需求分析一、项目背景随着市场竞争的日益激烈,企业对管理效率和员工素质的要求不断提高。

为提高公司管理水平,降低人力资源成本,实现企业可持续发展,公司决定开发一套员工管理系统。

该系统将涵盖员工基本信息管理、薪资福利管理、考勤管理、培训发展管理等多个方面,为公司提供一个便捷、高效、安全的管理工具。

二、需求分析1. 功能需求(1)员工基本信息管理:包括员工基本资料、岗位信息、联系方式等,支持信息的添加、修改、查询和删除。

(2)薪资福利管理:自动计算员工工资、奖金、扣款等,支持工资单的导出和打印。

(3)考勤管理:记录员工考勤数据,包括迟到、早退、请假等,支持考勤数据的统计和查询。

(4)培训发展管理:记录员工培训经历、晋升记录等,支持培训计划的制定和跟踪。

(5)权限管理:根据不同角色分配不同权限,确保系统数据安全。

2. 性能需求(1)响应速度:系统需在短时间内完成数据处理,确保用户体验。

(2)稳定性:系统运行稳定,数据安全可靠。

(3)可扩展性:系统具备良好的可扩展性,以便后期根据公司需求进行功能扩展。

3. 系统架构需求(1)采用B/S架构,便于用户通过浏览器访问。

(2)前后端分离,提高系统开发效率和可维护性。

(3)采用分布式数据库,确保数据存储安全可靠。

三、项目目标1. 提高管理效率:通过系统化管理,降低人力成本,提高工作效率。

2. 优化员工体验:为员工提供一个便捷、高效的工作环境,提升员工满意度。

3. 促进企业可持续发展:通过系统对员工培训、晋升等管理,提升企业核心竞争力。

4. 确保数据安全:采用先进的技术手段,确保系统数据安全可靠。

四、项目范围1. 项目范围:涵盖公司全体员工。

2. 项目实施地点:公司内部网络环境。

3. 项目周期:预计项目周期为6个月,包括需求分析、系统设计、开发、测试和部署等阶段。

本部分详细阐述了公司员工管理系统的项目背景、需求分析、项目目标和项目范围,为后续系统设计和开发提供了基础。

【推荐】员工工作管理系统-优秀word范文 (13页)

【推荐】员工工作管理系统-优秀word范文 (13页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==员工工作管理系统篇一:职工信息管理系统职工信息管理系统设计报告学院土木工程班级测绘C111 学号 117551姓名马骁飞成绩一、设计思路1.要达到的目的培养学生综合利用VB语言进行程序设计的能力,主要是培养学生综合使用基本控件的、文件读写、数组操作等能力。

利用读取数据按钮,打开选中的数据文件职工.txt,并从该文件中读取职工职工号、姓名、职称和工资,保存在数组中,并显示在文本框中。

清除文本框中的职工的信息。

在文本框中显示职工的信息。

按照职工号查询职工信息,并显示。

按照姓名查询职工信息,并显示。

按照职工号修改职工信息,并显示。

按照姓名修改职工信息,并显示。

追加一条记录数据,并显示。

2.关键问题的解决(1)通过“读取数据”按钮应能利用应能利用右侧图示样式窗体形式,打开选中的数据文件职工.txt,并从该文件中读取职工职工号、姓名、职称和工资,保存在数组中,并显示在文本框中。

(2)通过“清除数据”按钮应能清除文本框中的内容。

(3)从“按职工号查询”按钮左端文本框输入职工号,单击“按职工号查询”,在窗体大的文本框中显示查询结果。

从“按姓名查询”按钮左端文本框输入姓名,单击“按姓名查询”按钮,在窗体大的文本框中显示查询结果。

(4)从“按职工号修改” (“按姓名修改”)按钮,在输入对话框中输入职工号,对查询到的职工的职工号(姓名)进行修改,在窗体大的文本框中显示修改结果。

从输入一条记录后文本框中输入一条记录信息,单击“追加数据并显示结果”按钮,添加到职工.txt中,并将追加数据后职工.txt的信息显示窗体的大文本框中。

二、部分程序关键源代码及注释rivate Sub Command1_Click()Form2.ShowEnd SubList1.ClearEnd SubPrivate Sub Command3_Click()e = TrueUnload MeEnd SubPrivate Sub Command4_Click()List1.ClearIf Text3.Text = "117001" ThenElseIf Text3.Text = "117002" ThenList1.AddItem "李四 117002"ElseIf Text3.Text = "117003" ThenList1.AddItem "王五 117003"ElseIf Text3.Text = "117004" ThenList1.AddItem "王六 117004"ElseIf Text3.Text = "117005" ThenList1.AddItem "赵七 117005"ElseIf Text3.Text = "117006" ThenList1.AddItem "李八 117006"ElseIf Text3.Text = "117007" ThenList1.AddItem "刘九 117007"ElseIf Text3.Text = "117008" ThenList1.AddItem "马十 117008"Else: MsgBox "请输入正确的职工号"End IfEnd SubPrivate Sub Command5_Click()Dim a As StringDim b As Stringb = InputBox("请输入要修改的职工的职工号")a = InputBox("请输入新的职工姓名")If b = "117001" ThenElseIf b = "117002" ThenList1.AddItem a & " " & bElseIf b = "117003" ThenList1.AddItem a & " " & bElseIf b = "117004" ThenList1.AddItem a & " " & bElseIf b = "117005" ThenList1.AddItem a & " " & bElseIf b = "117006" ThenList1.AddItem a & " " & bElseIf b = "117007" ThenList1.AddItem a & " " & bElseIf b = "117008" ThenList1.AddItem a & " " & bElse: MsgBox "请输入正确的职工号" End IfList1.AddItem a & " " & bEnd SubPrivate Sub Command6_Click()List1.ClearIf Text2.Text = "张三" ThenList1.AddItem "张三 117001"ElseIf Text2.Text = "李四" Then。

人员管理系统,员工管理系统(一)2024

人员管理系统,员工管理系统(一)2024

人员管理系统,员工管理系统(一)引言概述:人员管理系统,又称员工管理系统,是一种用于管理组织内员工信息、工作分配、考核绩效等的软件系统。

该系统能够提高人力资源管理的效率和质量,帮助组织实现对人力资源的全面管理和优化。

本文将详细介绍人员管理系统的五个主要模块:员工信息管理、工作分配与监控、考核绩效管理、培训发展和福利管理,以及系统安全与权限控制。

一、员工信息管理: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) 员工培训:记录员工的培训情况和培训成绩。

6) 招聘管理:记录招聘需求、收集简历、安排面试等。

7) 员工福利管理:管理员工的福利信息,如社保、公积金等。

⑶用户类型1) 管理员:具有系统的最高权限,可以进行系统的配置和管理。

2) HR管理员:负责员工信息的管理和绩效考核等工作。

3) 普通员工:通过系统查看自己的个人信息、薪资和考勤情况。

三、系统安装和配置⑴硬件要求1) 服务器:4核CPU、8GB内存、100GB硬盘空间。

2) 客户端:支持Windows、MacOS和Linux操作系统。

⑵软件依赖1) 服务器端:安装Java运行环境、MySQL数据库和Tomcat应用服务器。

2) 客户端:支持使用现代浏览器访问系统,如Chrome、Firefox等。

⑶系统部署1) 配置数据库:创建数据库并导入系统提供的SQL脚本。

2) 配置系统参数:修改系统配置文件,设置数据库连接信息等。

3) 启动系统:启动Tomcat服务器并访问系统登录页面。

四、系统使用指南⑴登录系统用户打开浏览器,输入系统的访问地址,在登录页输入用户名和密码,登录按钮即可进入系统。

⑵员工档案管理1) 新增员工档案:新增按钮,填写员工的基本信息、工作经历等,保存按钮提交信息。

2) 编辑员工档案:在员工列表中选择要编辑的员工档案,编辑按钮,修改员工的信息后保存。

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

【最新整理,下载后即可编辑】洛阳理工学院课程设计报告课程名称数据结构设计题目员工管理系统课程设计任务书设计题目:员工管理系统_________________________________________________________ 设计内容与要求:[问题描述]每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。

系统能够完成员工信息的查询、更新、插入、删除、排序等功能。

[基本要求](1)排序:按不同关键字,对所有员工的信息进行排序。

(2)查询:按特定条件查找员工。

(3)更新:按编号对某个员工的某项信息进行修改。

(4)插入:加入新员工的信息。

(5)删除:按编号删除已离职的员工的信息。

课程设计评语成绩:指导教师:_______________年月日前言员工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以员工管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来各个公司基本上都是靠传统的人工方式来管理员工信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。

当今社会,信息迅速膨胀,随着各个公司的规模增大,有关信息管理工作所涉及的数据量越来越大,员工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度远远跟不上公司的需求,有的公司不得不靠增加人力、物力来进行信息管理。

随着计算机技术的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。

而作为计算机应用的一部分,使用计算机对员工进行管理,具有手工管理所无法比拟的优点。

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

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

员工管理系统作为一种管理软件正在各公司中得到越来越广泛的应用,且已达到了良好效果。

需求分析员工信息管理系统是企业管理中的一个重要内容,随着时代的进步,企业也逐渐变得庞大起来。

如何管理好企业内部员工的信息,成为企业管理中的一个大问题。

在这种情况下,开发一个人力资源管理系统就显得非常必要现在,市场上可以选购的应用开发产品很多,流行的也有数十种。

在目前市场上这些众多的程序开发工具中,有些强调程序语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。

然而,语言的弹性和工具的便利性是密不可分的,只强调程序语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间;相反,如果只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用。

本系统结合公司实际的人事、制度,经过实际的需求分析,采用功能强大的Visual C++ 6.0作为开发工具而开发出来的管理系统。

整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,本管理系统具有如下功能:1、问题描述对单位的员工进行管理,包括插入、删除、查找、排序等功能。

2、要求员工对象包括姓名、性别、年龄、职位、工龄等信息。

(1)新增一名员工:将新增员工对象按姓名以字典方式员工管理文件中,基本信息中的编号是按照添加顺序自动增加的。

(2)删除一名员工:从员工管理文件中删除一名员工对象,分为根据编号删除、根据姓名删除。

(3)查询:从员工管理文件中查询符合某些条件(编号、姓名)的员工。

(4)修改:根据编号检索出对象,既可以对整个对象修改,也可对某个属性修改。

(5)排序:按照年龄、工龄对所有的员工排序(降序),也可以回复排序以前的员工现实状态。

3、实现提示员工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。

(1)当启动程序是,自动从文件(message.txt)中读出员工信息(2)由键盘输入员工对象存入链表当中。

(3)对员工对象中的"编号、年龄、工龄"按字典顺序进行排序。

(4)对排序后的员工对象进行增、删、查询、修改、排序等操作。

(5)当退出程序时,将此刻单链表中存储的数据写入到文件(message.txt)中去,保存起来。

概要设计(一)数据类型定义:typedef struct{int num; //编号char name[MAX_NUM];//姓名int age; //年龄char job[MAX_NUM];//职位;int workTime;// 工龄}People;ypedef struct node{People people;struct node * next;int len;//表示链表长度}linklist;(二)流程图:(图1)(三)各程序模块之间的层次图:(图2)详细设计1、主菜单模块:显示员工管理系统的主菜单,供用户选择所需的功能,通过自己定义的void main()函数来实现。

2、添加员工模块:输入员工的编号、姓名、年龄、职位、工龄以,通过自己定义的void addMessage()函数来实现。

3、查询员工信息模块:浏览所有员工的相关信息,通过自己定义的void searchPeople()函数来实现。

(1)按员工姓名查询:可以按员工工号来查询员工的相关信息,通过自己定义的void searchPeopleByName( )函数来实现。

(2)按员工编号查询:可以按员工职务来查询员工的相关信息,通过自己定义的void searchPeopleByNum( )函数来实现。

(3)退出。

4、删除员工模块:删除需要删除的员工的所有信息,通过自己定义的void deletePeople( )函数来实现。

(1)按员工姓名删除模块:可以按员工工号来删除员工的相关信息,通过自己定义的void deletePeopleByName( )函数来实现。

(2)按员工编号删除模块:可以按员工编号删除员工的相关信息,通过自己定义void deletePeopleByNum( )函数来实现。

(3)退出5、修改模块:可以修改需要修改的员工的相关信息,通过自己定义的void editMessage()函数来实现。

(1)修改整条记录,可以修改该员工的全部信息,通过自己定义的void editAll()函数来实现。

(2)修改部分记录,可以修改该员工的部分信息,通过自己定义的void editSome()函数来实现。

(3)退出。

6、员工信息排序模块:可以按照规定要求对员工信息排序,通过自己定义的void sort()函数来实现。

(1)按年龄排序:可以按员工工号对员工信息排序,通过自己定义的void sortByAge()函数来。

(2)按工龄排序:可以按员工工龄对员工信息排序,通过自己定义的void sortByWorkTime()函数来实现。

(3)回复原排序:可以回复排序前的顺序,通过自己定义的void sortByNum ()函数来实现。

(4)退出。

7、退出系统模块:退出员工信息管理系统,通exit(0)函数来实现。

函数调用图:(图3)测试结果(一)当操作人员运行程序时,弹出的DOS界面如下:(二)根据提示语,输入1,添加员工信息,操作如下界面:(三)在主菜单输入2,进入输出员工功能,操作如下:添加员工、展示所有员工信息功能实现。

(四)在主菜单输入3,查询员工信息按编号查询,测试如下:按姓名查询,测试如下:以上查询功能测试功能。

(五)在主菜单,输入4,删除员工功能:按编号删除,测试如下:按姓名删除如下:以上测试完成。

(六)在主菜单输入5,进入修改信息功能:(七)在主菜单输入6,进入排序功能:按年龄排序,测试如下:按工龄排序相同操作,测试成功。

回复排序,回复到未排序状态,测试成功。

(八)退出,将所有的员工信息写入message.txt 文件中,实现永久保存。

退出系统,测试完成。

总结在本系统的开发过程中由于时间也比较仓促、准备不充分,系统必然会存在一些缺陷和不足。

对员工信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。

课程设计中我们遇到很多问题。

我们在开发时,我们查阅了许多资料,了解到即是对员工的编号号,姓名,年龄,工龄等复杂多样的信息,能够较清晰,快捷而操作方便的现代化管理系统。

弄清了这个基本概念以后,我们又详细理解了老师所讲的设计要求和注意事项,大致确定了总体的设计思路,初步提出问题的解决方案,以及系统大致设计方案和框架,接下来我们就着手编程。

在编程过程中,先是根据系统所要求,找出所需要知识点。

编完程序,我们在机房进行了一次又一次的调试,找出了其中的错误,一一纠正,并且修改了其中不太完善的部分,力求做到实用并且精确尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。

通过开发这个系统,我组掌握了的项目基本开发过程,用到的知识巩固了我对C语言的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法。

通过本次课程设计,我们对数据结构知识掌握了很多,并能将它用以程序编写中,并且提高了自己的解决实际问题的能力。

-----------------------------------------------------------附录:源代码#include"stdio.h"#include"stdlib.h"#include "string.h"#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -2typedef struct LNode{char id[20];char name[10];char sex[10];char birth[10];char edu[10];char duty[10];char phone[20];char address[30];struct LNode *next;}LNode,*Linklist;//定义节点类型int CreatList(Linklist &L){Linklist p;p=(Linklist)malloc(sizeof(LNode));if(!p){return (0);}else{printf("请输入员工编号\n");scanf("%s",p->id);printf("请输入员工姓名\n");scanf("%s",p->name);printf("请输入员工性别\n");scanf("%s",p->sex);printf("请输入员工生日\n");scanf("%s",p->birth);printf("请输入员工学历\n");scanf("%s",p->edu);printf("请输入员工职务\n");scanf("%s",p->duty);printf("请输入员工电话\n");scanf("%s",p->phone);printf("请输入员工地址\n");scanf("%s",p->address);}p->next=L->next;L->next=p;}//头插法生成单链表int Initlist(Linklist &L){L=(Linklist)malloc(sizeof(LNode));if(!L)return (0);L->next=NULL;return OK;}//初始化单链表void Display(Linklist &L){Linklist p;for(p=L->next;p;p=p->next){printf("编号%s\n",p->id);printf("姓名%s\n",p->name);printf("性别%s\n",p->sex);printf("生日%s\n",p->birth);printf("学历%s\n",p->edu);printf("职务%s\n",p->duty);printf("电话%s\n",p->phone);printf("地址%s\n",p->address);printf("============================\n");}}//显示所有员工信息int SearchID(Linklist &L,char id[20]){LNode *p;p=L;while(p){if(strcmp(p->id,id)==0){printf("编号%s\n",p->id);printf("姓名%s\n",p->name);printf("性别%s\n",p->sex);printf("生日%s\n",p->birth);printf("学历%s\n",p->edu);printf("职务%s\n",p->duty);printf("电话%s\n",p->phone);printf("地址%s\n",p->address);}p=p->next;}return OK;}//ID查询int SearchName(Linklist &L,char name[10]) {LNode *p;p=L;while(p){if(strcmp(p->name,name)==0){printf("编号%s\n",p->id);printf("姓名%s\n",p->name);printf("性别%s\n",p->sex);printf("生日%s\n",p->birth);printf("学历%s\n",p->edu);printf("职务%s\n",p->duty);printf("电话%s\n",p->phone);printf("地址%s\n",p->address);}p=p->next;}return OK;}//姓名查询void SortID(Linklist &L ,char id[20]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->id,q->id ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//编号排序void SortName(Linklist &L ,char name[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->name,q->name ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//姓名排序void SortSex(Linklist &L ,char sex[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->sex,q->sex))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//性别排序void SortBirth(Linklist &L ,char birth[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULLwhile(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->birth,q->birth ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//出生年月排序void SortEdu(Linklist &L ,char edu[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->edu,q->edu ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q}L=La;Display(L);}//学历排序void SortDuty(Linklist &L ,char duty[10]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->duty,q->duty ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//职务排序void SortPhone(Linklist &L ,char phone[20]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->phone,q->phone ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q}L=La;Display(L);}//电话排序void SortAddress(Linklist &L ,char address[30]){Linklist La;Linklist p,q,m;La=(Linklist)malloc(sizeof(LNode));La->next =NULL;while(L->next){for(q=L->next ,p=L->next ;p->next ;p=p->next ){if((strcmp( p->next->address,q->address ))>0 ){m=p;q=p->next ;}}if(q==L->next){L->next =L->next->next ;}else{m->next =q->next ;}q->next =La->next ;La->next =q ;}L=La;Display(L);}//地址排序int Alter(Linklist &L,char id[20]){LNode *p;p=L;while(p){if(strcmp(p->id,id)==0){printf("请输入员工编号\n");scanf("%s",p->id);printf("请输入员工姓名\n");scanf("%s",p->name);printf("请输入员工性别\n");scanf("%s",p->sex);printf("请输入员工生日\n");scanf("%s",p->birth);printf("请输入员工学历\n");scanf("%s",p->edu);printf("请输入员工职务\n");scanf("%s",p->duty);printf("请输入员工电话\n");scanf("%s",p->phone);printf("请输入员工地址\n");scanf("%s",p->address);}p=p->next;}return OK;}//更改int Del(Linklist &L,char id[20]){LNode *p;LNode *r;p=L->next;r=L;while(!(strcmp(p->id,id)==0)&&p){r=p;p=p->next;}if(!p)printf("\n删除位置不合理\n");else{r->next=p->next;free(p);printf("删除成功\n");}return OK;}//按ID删除//主函数void main(){Linklist L;int a;char m;char name[10];char id[20];char sex[10];char birth[10];char edu[10];char duty[10];char phone[20];char address[30];Initlist(L);int y;int x=1;while(x){printf("=========================\n");printf("欢迎进入员工管理系统!\n");printf("=========================\n");printf("1-添加员工信息\n");printf("2-查询员工信息\n");printf("3-排序员工信息\n");printf("4-显示所有员工信息\n");printf("5-更改员工信息\n");printf("6-删除员工信息\n");printf("7-退出\n");printf("请选择操作序号并按回车:");scanf("%d",&y);switch(y){case 1: CreatList(L);do{printf("是否继续输入?(y/n)");getchar();scanf("%c",&m);if(m=='y'){CreatList(L);}}while(m!='n');break;case 2: printf("请输入查询方式(1按编号查询,2按姓名查找)");scanf("%d",&a);if(a==1){printf("请输入查询员工编号\n");scanf("%s",&id);SearchID(L,id);}if(a==2){printf("请输入查询员工姓名\n");scanf("%s",&name);SearchName(L,name);}break;case 3: printf("请选择排序条件:1.编号2.姓名3.性别4.出生年月5.学历6.职务7.电话8.地址0.退出\n");scanf("%d",&a);if(a==1){printf("编号排序\n");SortID(L,id);}if(a==2){printf("姓名排序\n");SortName(L,name);}if(a==3){printf("性别排序\n");SortSex(L,sex);}if(a==4){printf("出生年月排序\n");SortBirth(L, birth);}if(a==5){printf("姓名排序\n");SortDuty(L,duty);}if(a==6){printf("姓名排序\n");SortEdu(L,edu);}if(a==7){printf("姓名排序\n");SortPhone(L,phone);}if(a==8){printf("姓名排序\n");SortAddress(L,address);}breakcase 4: printf("所有员工信息如下所示\n");Display(L);break;case 5: printf("请输入更改员工编号");getchar();scanf("%s",&id);Alter(L,id);break;case 6: printf("请输入删除员工编号");getchar();scanf("%s",&id);Del(L,id);break;case 7: x=0;break;default:printf("请输入正确序号!\n");break;}}}。

相关文档
最新文档