数据结构简单的职工管理系统

合集下载

数据结构课程设计-职工管理系统

数据结构课程设计-职工管理系统

目录一、前言—--——--—-——-———-—————-———-——-———-—————---—-——————-—--————————-————————2二、需求分析—-———-—---—-——————————-———--——-—--——-————-—--——————————---—----—3 三、概要设计—-——-——-—————-———-—-—————————--——-----—--—--————--——-—---—-—————4四、详细设计—-———-———————--—-—-————-—-—————-—-—-———————-——-——-—-----————-—-—5五、调试分析————-————————-—————-——-————--—-——-——--——--—--—---—--——---—--—-——6六、用户使用说明—--——————-————-————-—-—-—-—--—————————-—————-—-———————-——-7 七、测试结果——————-—--—---——--——————--—-———----———--——-—-—-————————---—-———-8八、总结—-———---—-—--———-———-—--—---——--—————--—-—--—————--————————---—----—-11九、主要参考文献和附录—--——-——-—-————--——-——-—--———---—————-——-———————12前言员工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以员工管理系统应该能够为用户提供充足的信息和快捷的查询手段.但一直以来各个公司基本上都是靠传统的人工方式来管理员工信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。

数据结构课程设计_公司职工管理系统

数据结构课程设计_公司职工管理系统

辽宁工业大学课程设计说明书题目:数据结构课程设计学院(系):电子与信息工程学院专业班级:计算机科学与技术专业学号:学生姓名:指导教师:教师职称:副教授起止时间: 2009.12.01—2009.12.08课程设计(论文)任务及评语院(系):电子与信息工程教研室:软件工程目录第1章课程设计目的与要求 (1)1.1课程设计目的 (1)1.2课程设计的实验环境 (1)1.3课程设计的预备知识 (1)1.4课程设计要求 (1)第2章课程设计内容 (2)2.1第五类题目 (2)2.2题目的具体实现 (2)2.3题目内容 (2)2.4思考题解析 (16)总结 (18)参考文献 (19)第1章课程设计目的与要求1.1 课程设计目的本课程设计是计算机科学与技术专业、软件工程专业的专业技术实践课。

本实践课的主要目的是:使学生学会利用在课堂中学过的理论知识,解决相应的实际问题,深入理解和灵活掌握所学的内容,培养学生理论和实践相结合的能力,培养学生分析问题解决问题的能力。

同时,在实验步骤规范化、程序设计方法等方面受到比较系统和规范的训练。

通过实践设计使学生进一步加深对程序设计的规范化及对复杂程序设计步骤的理解。

1.2 课程设计的实验环境PC机,WindowsXP,Win-tc。

1.3 课程设计的预备知识C语言程序设计、高级程序设计应用、数据结构。

1.4 课程设计要求(1)认真查找资料,分析每个题目应选择的数据结构(逻辑结构和物理结构);(2)按时到实验室调试程序,遵守实验室的规章制度,爱护设备;(3)每个题目编写源程序时,每个子功能定义为相应的子函数,在主函数中调用各子函数,程序结构清晰,有必要的注释,可读性强。

(4)程序健壮性强,当数据输入错误时,要进行相应的处理;(5)分析算法的时间复杂度,要求算法的效率尽可能高;(6)对于排序算法,要验证排序算法的稳定性。

第2章课程设计内容2.1 第五类题目1、简单的职工管理系统a.问题描述对单位的职工进行管理,包括插入、删除、查找、排序等功能。

数据结构员工管理系统

数据结构员工管理系统

数据结构员工管理系统一、前言数据结构员工管理系统是一种基于计算机技术和信息管理的管理系统,主要用于协调和管理企业或机构的人事事务,如员工基础信息、工资管理、考核等,方便将数据按照某种规则分类处理和管理,使管理人员能够更好地了解员工情况、加强员工管理、提高企业生产效率和员工满意度等。

本文将对数据结构员工管理系统的设计、实现和功能等方面进行详细介绍。

二、系统设计该系统基于MVC架构设计,将模型(Model)、视图(View)和控制器(Controller)进行了分离,简化了程序结构和实现难度。

其中,M表示业务模型,V表示用户界面,C表示控制器。

主要包括以下五个模块:1. 用户登录和权限管理模块:主要实现用户登录和权限管理,以区分管理员和普通员工的权限。

2. 员工基础信息模块:主要包括员工基本信息(如员工号、姓名、性别、年龄、身份证号、联系方式等)、工龄、职位、部门、入职时间、家庭住址等。

3. 工资管理模块:主要包括员工薪资计算和管理模块,包括基础薪资、津贴、奖励和交通补贴等。

4. 员工考勤管理模块:主要实现员工考勤信息,包括上班时间、下班时间、迟到、早退、请假、加班等。

5. 员工绩效管理模块:主要是对员工的绩效进行管理和考核,包括个人绩效、部门绩效、公司绩效等考核指标。

三、系统功能1. 员工信息管理:通过该系统,管理员可以随时查询员工的基础信息、工资信息、考勤信息、绩效考核信息等。

2. 工资管理:系统可以自动计算每个员工的工资,包括基础工资、津贴、奖励和交通补贴等,从而可以减少人工计算时间,提高工资管理的准确性和效率。

3. 员工考勤管理:员工可以直接在系统中申请请假、加班等,管理员可以及时审核,确保员工的考勤情况的准确性和公正性。

4. 绩效管理:根据设定的考核标准,通过该系统可以对员工个人、部门和企业整体的绩效进行定量评估,反映企业或机构的整体运营能力和员工管理效果。

5. 系统备份与恢复:系统还可以设置自动备份数据并进行定期备份以及手动恢复数据等操作,确保数据的安全性和完整性。

简单的职工管理系统

简单的职工管理系统

#include <string>#include <iostream>#include <fstream>#include <iomanip>#include <memory.h>#include <stdio.h>#include <conio.h>#include <stdlib.h>using namespace std;struct Employee{//声明职工的结构作为链表节点。

//-----数据域-----string m_Code;string m_Name;unsigned short int m_Year; string m_Sex;string m_Post;string m_Department;unsigned int m_Wage;//链表节点的指针域---struct Employee* Next;};//-----个人习惯:取别名-------typedef struct Employee Node;typedef Node* Link;//-------函数声明-------------Link Create(Link Head);void Release(Link Head);Link Add(Link Head);bool Search(Link Head);Link Search_Unique(Link Head);void Display_List(Link Head);void Display_Node(Link pNode);Link Modify(Link Head);Link Del(Link Head);void Save_ByFile(Link Head,fstream& ofile); Link Sort(Link Head);//-------函数实现--------------------------Link Create(Link Head){//创建一个带头节点的空链表。

数据结构课程设计(员工管理系统)

数据结构课程设计(员工管理系统)

目录一、问题描述 1二、测试数据 1三、算法思想 1四、模块划分 1五、数据结构 2六、源程序 2七、测试情况 7八、设计体会 8参考文献 9一、问题描述(1)自定义一个类型表示员工各信息,定义一个顺序表存储员工信息,包括员工编号、姓名、性别、职务、出生年月、学历、电话、地址等。

(2)系统能够完成员工信息的输入、输出、查询、更新、插入、删除、排序等功能,并且数据能由文件导入和导出到文件。

(3)通过菜单选择进行哪一项操作,并输出每一项操作结果。

二、测试数据1 李一女 1989.10.2 本科职员 188******** 广西南宁2 苏三女 1986.3.18 本科职员 180******** 广西北海3 孙大云女 1987.12.1 本科秘书 180******** 广西柳州5 陈二男 1986.7.12 硕士经理 150******** 广西梧州三、算法思想线性表是最常用且最简单的一种线性结构,由数据元素组成,而数据元素又可以包含若干个数据项。

线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素,通常用数组表示。

对顺序表的操作可借鉴数组的算法。

在本次课程设计中的员工管理信息系统,每个员工为一个数据元素,包括编号、姓名、性别、学历等数据项。

用一个数组来存储员工信息,对其进行的输入、删除、输出等操作可由一般数组的算法变换而得。

四、模块划分(1)自定义一个数据类型ElemType,表示员工信息,定义一个顺序表List,将员工信息存放于顺序表中,包括员工的编号、姓名、性别、职务、出生年月、学历、电话、地址等,并完成顺序表的初始化;(2)void ListInput(List &L,int n),函数作用是输入员工信息,需要一个循环完成每个员工信息的输入,最后要修改表长;(3)int LocateElem(List L,int num),函数作用是在顺序表里查找某编号员工的信息,从第一个员工开始找,通过编号的两两比较,若找到与要查找员工的编号一致的员工,则返回员工的位置,并在主函数中输出此与员工的信息;(4)void ListInsert(List &L,ElemType e)函数功能是新员工信息的插入,先判断表是否满或此员工的信息是否已存在,若是则不进行插入操作;否则,保持员工编号顺序不变,找到插入点的位置,把从插入点后一位的数据都往后移一个位置,把新信息插入,最后使表长增1;(5)void ListDelete(List &L,int bh)函数作用是员工信息的删除,若表空或所要删除的员工信息不存在,则不进行下一步操作;否则,把删除点后的数据都往前移覆盖其前一个元素,最后使表长减1;(6)void BubbleSort(List &L)函数功能是通过冒泡法试员工信息按编号从小到大排序,进行n-1趟,每趟使小编号的员工信息往上放在表的前端,把编号大的员工信息往下沉到表的末端;(7)ChangeM(List &L),更新员工信息,由菜单选择需要修改的信息项进行修改,并保存新的信息;(8)void newFile(List &L),生成一个新的txt文件,存放员工信息,存入计算机内存;(9)void readFile(List &L),把员工信息从文件中导出;(10)void main()主函数,通过菜单和各函数的调用实现各部分的操作。

数据结构员工管理系统

数据结构员工管理系统

数据结构员工管理系统正文:1.引言本文档旨在设计一个数据结构员工管理系统,用于管理公司内部的员工信息。

该系统将实现员工的基本信息维护、部门管理、工资管理、考勤管理等功能,以提高员工管理的效率和准确性。

2.系统概述2.1 系统目标员工管理系统的目标是简化公司内部的员工管理流程,提供一个可靠、高效的方式来记录和查询员工的信息、工资、考勤等。

2.2 主要功能- 员工信息维护:包括员工的基本信息(姓名、性别、年龄、联系方式等)、入职和离职信息、职位信息等。

- 部门管理:包括部门的创建、修改、删除,以及部门人员的调动和查询。

- 工资管理:包括员工的薪资设置、薪资发放记录、薪资查询等。

- 考勤管理:包括员工的考勤打卡记录、请假记录、加班记录等。

3.系统设计3.1 数据结构设计3.1.1 员工信息表员工信息表存储员工的基本信息,包括员工ID、姓名、性别、年龄、联系方式等字段。

3.1.2 部门表部门表存储部门的信息,包括部门ID、部门名称、部门描述等字段。

3.1.3 工资表工资表存储员工的工资信息,包括员工ID、基本工资、奖金、扣款等字段。

3.1.4 考勤表考勤表存储员工的考勤记录,包括员工ID、打卡时间、请假记录、加班记录等字段。

3.2 模块设计3.2.1 员工信息管理模块该模块实现对员工信息的增删改查功能,包括员工基本信息的维护、员工入职和离职操作等。

3.2.2 部门管理模块该模块实现对部门信息的增删改查功能,包括部门的创建、修改、删除,以及部门人员的调动和查询等操作。

3.2.3 工资管理模块该模块实现对员工工资信息的设置和查询功能,包括薪资设置、薪资发放记录的查询等操作。

3.2.4 考勤管理模块该模块实现对员工考勤信息的记录和查询功能,包括考勤打卡记录、请假记录、加班记录的记录和查询等操作。

4.系统实施4.1 开发环境本系统开发环境为Java语言,使用Eclipse开发工具,数据库使用MySQL。

4.2 系统架构本系统采用三层架构,分为表现层、业务逻辑层和数据访问层。

员工管理系统 数据结构

员工管理系统 数据结构

员工管理系统数据结构一、引言员工管理系统是一个用于管理和跟踪员工信息的软件系统。

它使用数据结构来存储和组织员工的相关数据,包括个人信息、工作经历、薪资、考勤记录等。

本文将详细介绍员工管理系统的数据结构设计和实现。

二、数据结构设计1. 员工信息员工信息是员工管理系统的核心数据之一,包含以下字段:- 员工ID:每一个员工在系统中的惟一标识符。

- 姓名:员工的姓名。

- 性别:员工的性别。

- 出生日期:员工的出生日期。

- 联系方式:员工的联系方式,如手机号码或者电子邮件地址。

- 部门:员工所属的部门。

- 职位:员工的职位。

- 入职日期:员工的入职日期。

为了高效地存储和检索员工信息,可以使用以下数据结构:- 哈希表:将员工ID作为键,员工信息作为值,用于快速查找和更新员工信息。

- 链表:用于处理哈希表中的冲突,当发生冲突时,将冲突的员工信息链接到同一哈希桶中。

2. 工作经历工作经历是记录员工在不同公司的工作经历的数据,包含以下字段:- 公司名称:员工曾经工作的公司名称。

- 职位:员工在该公司的职位。

- 入职日期:员工在该公司的入职日期。

- 离职日期:员工在该公司的离职日期。

为了存储员工的工作经历,可以使用以下数据结构:- 数组:用于存储员工的多个工作经历记录。

3. 薪资薪资是记录员工薪资信息的数据,包含以下字段:- 基本工资:员工的基本工资。

- 奖金:员工的奖金。

- 补贴:员工的补贴。

- 扣款:员工的扣款。

- 实际工资:员工的实际工资。

为了存储员工的薪资信息,可以使用以下数据结构:- 树状数组:用于高效地计算员工的实际工资,支持快速的更新和查询操作。

4. 考勤记录考勤记录是记录员工出勤情况的数据,包含以下字段:- 日期:考勤记录的日期。

- 上班时间:员工的上班时间。

- 下班时间:员工的下班时间。

- 考勤结果:员工的考勤结果,如正常、迟到、早退、缺勤等。

为了存储员工的考勤记录,可以使用以下数据结构:- 链表:用于按照日期顺序存储员工的考勤记录。

数据结构员工管理系统

数据结构员工管理系统

一、设计题目[问题描述]每个员工的信息包括:编号、姓名、性别、出生年月、学历职务、电话、住址等。

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

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

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

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

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

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

二、运行环境Mrosoft Visual C++6.0三、算法设计的思想构造链表存储用户记录。

四、算法的流程图五、算法设计分析(1)构造顺序表存储用户记录。

(2)利用冒泡法对用户名和号码分别进行排序(3)利用直接查找法进行查找六、源代码#include"stdio.h"#include"stdlib.h"#include "string.h"//定义节点类型typedef struct node{char id[10];char name[10];char sex[10];char birth[10];char xueli[10];char zhiwu[10];char phone[10];char address[10];struct node *next;}node,*linklist;//头插法生成单链表int creatlist(linklist &L){linklist p;p=(linklist)malloc(sizeof(node));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->xueli);printf("请输入员工职务\n");scanf("%s",p->zhiwu);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(node));if(!L)return (0);L->next=NULL;return 1;}//显示所有员工信息void display(linklist &L){linklist p;for(p=L->next;p;p=p->next){printf("编号 %s",p->id);printf("姓名 %s",p->name);printf("性别 %s",p->sex);printf("生日 %s",p->birth);printf("学历 %s",p->xueli);printf("职务 %s",p->zhiwu);printf("电话 %s",p->phone);printf("地址 %s\n",p->address);}}//按id删除int del(linklist &L,char id[10]){node *p;node *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 1;}//查询idint searchid(linklist &L,char id[10]) {node *p;p=L;while(p){if(strcmp(p->id,id)==0){printf("编号 %s",p->id);printf("姓名 %s",p->name);printf("性别 %s",p->sex);printf("生日 %s",p->birth);printf("学历 %s",p->xueli);printf("职务 %s",p->zhiwu);printf("电话 %s",p->phone);printf("地址 %s\n",p->address);}p=p->next;}return 1;}//查询姓名int searchname(linklist &L,char name[10]) {node *p;p=L;while(p){if(strcmp(p->name,name)==0){printf("编号 %s",p->id);printf("姓名 %s",p->name);printf("性别 %s",p->sex);printf("生日 %s",p->birth);printf("学历 %s",p->xueli);printf("职务 %s",p->zhiwu);printf("电话 %s",p->phone);printf("地址 %s\n",p->address);}p=p->next;}return 1;}//修改int xiugai(linklist &L,char id[10]) {node *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->xueli);printf("请输入员工职务\n");scanf("%s",p->zhiwu);printf("请输入员工电话\n");scanf("%s",p->phone);printf("请输入员工地址\n");scanf("%s",p->address);}p=p->next;}return 1;}//排序void Sort(linklist &L){。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
void ListInitiate(SLNode **head)//---------------------------------链表初始化
{
if((*head=(SLNode *)malloc(sizeof(SLNode)))==NULL) exit(1);//动态分配存储空间
2.2
由系统管理员依次输入现有职工和新增职工的以下信息:姓名(可以重复)、性别、出生年月、工作年月、学历、职务、地址、电话等信息,并且注意输入时姓名、学历、职务、地址为字符串形式,性别为字符,其余的为长整型数字。
系统管理员根据公司的人员流动情况,选择系统提供的各项功能进行操作,并输出相应的结果。
2.3
经过本次课程设计,我们对于数据结构基本理论和存储结构及算法设计将有更加深入的理解,并提高我们在实际设计操作中系统分析、结构确定、算法选择、数学建模和信息加工的能力,提高我们的C/C++语言程序设计能力,以及培养学我们编写程序设计文档的能力。
在经济繁荣中的今天对于职工管理有很大程度上的要求,一个工程能否较好较快的运行,与职工管理的好坏分不开关系,通过该系统,能够更好的管理职工,简化管理,使管理更方便,准确性和直观性更强。本着实践为目的,通过设计与制作进一步学习和掌握职工管理系统的原理和使用方法。虽然在一定程度上较为简单,但也能体现在出在人员管理上的方便快捷。
初始化链表
系统处理模块
SLNode *ListInsert(SLNode *head,DataType x)
插入职工信息
ListDelete(SLNode *head)
删除职工信息
ListModify(SLNode *head)
修改职工信息
put(SLNode *head,FILE *fp)
保存职工信息
long int born_time,work_time,tele_num;
char sex,name[ALLMAX],degree[ALLMAX],job[ALLMAX],address[ALLMAX];
struct Node *next;
}SLNode;
(2)定义职工信息(typedef struct Datatype)
Listfind(SLNode head)
查询职工信息
Listpaixu(SLNode *head)
职工信息排序
输出模块
print(SLNode *head)
显示职工信息
第三章 详细设计分析
3.1 抽象数据类型定义
(1)定义表结点(typedef struct Node)
typedef struct Node{
第一章前言1
第二章系统功能总体设计分析2
2.1问题描述2
2.2详细要求2分析3
2.3.3系统功能结构3
2.3模块函数构造4
第三章详细设计分析5
3.1抽象数据类型定义5
3.2主函数设计5
3.3查找算法设计6
3.4排序算法设计7
第四章系统实现9
第五章课程设计总结11
第二章 系统功能总体设计分析
2
根据题目要求,由于职工信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览职工的信息,应提供显示、查找、排序等操作;另外还应提供键盘式选择菜单实现功能选择
对功能要求的实现是解决管理系统的关键问题。一个管理系统能将其划分为插入、删除、查找、排序等功能。对不同的功能模块进行编写实现,然后通过一定的方式的进行连接调用,从而完成对各部分的操作。
typedef struct{
long int born_time,work_time,tele_num;
char name[ALLMAX],sex,degree[ALLMAX],job[ALLMAX],address[ALLMAX];
}DataType;
(3)初始化链表(ListInitiate(SLNode **head))
2.3.1
简单的职工管理系统主要实现以下功能:
①新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。
② 删除一名职工:从职工管理文件中删除一名职工对象。
③ 查询:从职工管理文件中查询符合某些条件的职工。
④ 修改:检索某个职工对象,对其某些属性进行修改。
⑤ 排序:按某种需要对职工对象文件进行排序。
要求:职工信息包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。
2.3.2
(1)输入功能的实现:要想实现职工管理系统的输入,必须要建立一个职工信息系统的抽象数据类型,其中职工信息以链表的存储方式实现。由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。
(2)系统处理功能的实现:系统管理员根据公司的人员流动情况,在提示信息的提示下,选择相应的服务进行操作。如对职工对象中的"姓名"按字典顺序进行排序;对排序后的职工对象进行增、删、查询、修改、排序等操作。
图2系统功能结构图
2.3
根据系统功能结构图的描述,可以构造出该系统的抽象数据类型和相对应的函数,其方法名和功能如表1所示。
表1函数功能表
模块
函数或数据结构
功能
链表数据类型
typedef struct Node
定义链表结点
typedef struct Datatype
定义职工信息
ListInitiate(SLNode *head)
(3)输出的实现:根据选择的操作,输出与之对应的信息。
综上可以绘制出职工管理功能的系统流程图,如图1所示
图1系统流程图
2.3.3
根据职工管理系统问题的分析和设计要求,可以得到该职工管理系统可以分为五个模块:职工信息添加模块、职工信息修改模块、职工信息删除模块、职工信息查询模块、职工信息排序模块。其系统功能结构如图2所示。
参考文献12
附录13
第一章 前言
随着电子信息的到来,能够在任何时候、任何地方、利用应用程序获得统计分析的相关信息,并享受应用软件带来的便捷。数据结构就是为着实现这样的目标而设立的核心问题解决方法。
《数据结构》是计算机专业一门重要的基础课程。本课程较系统地介绍了软件设计中常用的数据结构以及相应的存储结构和实现算法,介绍了常用的多种查找和排序技术。本课程将为整个专业的学习以及软件设计水平的提高打下良好的基础。为了学好《数据结构》,必须掌握编写一些在特定数据结构上的算法,并通过上机调试,更好地掌握各种数据结构及其特点,此次《数据结构》课程设计目的正在于此。
相关文档
最新文档