数据结构简单的职工管理系统完整版
精品文档---下载后可任意编辑 数据结构课程设计报告 题目 简单的职工管理系统 院系名称计算机学院 专业名称计算机科学与技术 班 级 计科202401班 学生姓名刘兴斌 学号 30 指导老师 张建明 设计起止时间2024年11月20日2024年12月30日 完成于2024年12月29日 星期四 目 录 第一章序1 第二章系统总体功能的设计和分析2 1、问题描述2 2 、详细要求2 3 、功能分析2 1、具体要求2 2、系统流程分析3 3、系统功能结构3 4、模块函数构造4 第三章详细设计分析5 1、抽象数据类型定义5 2、主函数设计5 3、查找算法设计6 4、排序算法设计8 第四章 源程序代码11 第五章系统实现29 第六章课程设计总结31 精品文档---下载后可任意编辑 第一章 序 电子信息时代由如洪水一样的凶狠,能在现实社会应用软件给我们的生活和工作带来方便和有用性就是软件存在的最大的价值。数据结构所能解决的就是这些复杂的问题简单化。 数据结构是计算机专业学生学习的一门基础课程,但十分的重要。本课程系统地介绍了软件设计中常用的数据结构以及相应的存储结构和实现算法,介绍了常用的多种查找和排序技术。本课程将为整个专业的学习以及软件设计水平的提高打下良好的基础。为了学好数据结构,必须掌握编写一些在特定数据结构上的算法,并通过上机调试,更好地掌握各种数据结构及其特点。 经过本次课程设计,我们对于数据结构基本理论和存储结构及算法设计将有更加深化的理解,并提高我们在实际设计操作中系统分析、结构确定、算法选择、数学建模和信息加工的能力,提高我们的C/C语言程序设计能力,以及培育学我们编写程序设计文档的能力,为将来在实战工作中打下良好的基础。 在经济发达的今日对于职工简单的管理都是有很大程度上的要求,一个工司能否较好较快的运行,与职工管理的好坏分不开关系,通过该系统,将一系列的问题系统化,能够更好的管理职工。简化管理,使管理更方便,准确性、直观性和有用性更强。本着以锻炼自己的能力为目的,通过设计与制作进一步学习和掌握简单的职工管理系统的原理和使用方法。虽然在一定程度上较为简单,但也能体现在出在人员管理上的方便快捷,也体现一个领导的管理水平是不是充满艺术。 精品文档---下载后可任意编辑 第二章 系统总体功能的设计和分析 1 、问题描述 根据课程设计题目的要求,由于职工信息是一定要存放在指定的文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览职工的信息,应提供显示、查找、删除、插入、排序等一系列的操作;另外还应提供键盘式选择菜单实现功能选择 对功能要求的实现是解决管理系统的关键问题。一个管理系统能将其划分为插入、删除、查找、排序等功能。对不同的功能模块进行代码的编写实现,最后通过一定的方式的进行连接测试和最终的调用,从而完成对各部分的操作。 2 、详细要求 1.要求 职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。 (1)新增一名职工将新增职工对象按姓名以字典方式职工管理文件中。 (2)删除一名职工从职工管理文件中删除一名职工对象。 (3)查询从职工管理文件中查询符合某些条件的职工。 (4)修改检索某个职工对象,对其某些属性进行修改。 (5)排序按某种需要对职工对象文件进行排序。 3功能分析 1、实现提示 职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。 (1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。 (2)对职工对象中的姓名按字典顺序进行排序。 (3)对排序后的职工对象进行增、删、查询、修改、排序等操作。 2、系统流程分析 (1)输入功能的实现要想实现职工管理系统的输入,必须要建立一个职工信息系统的抽象数据类型,其中职工信息以链表的存储方式实现。由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。 (2)系统处理功能的实现系统管理员根据公司的人员流动情况,在提示信息的提示下,选择相应的服务进行操作。如对职工对象中的姓名按字典顺序进行排序;对排序后的职工对象进行增、删、查询、修改、排序等操作。 (3)输出的实现根据选择的操作,输出与之对应的信息。 综上可以绘制出职工管理功能的系统流程图,如图1所示 图1系统流程图 3、系统功能结构 根据职工管理系统问题的分析和设计要求,可以得到该职工管理系统可以分为五个模块职工信息添加模块、职工信息修改模块、职工信息删除模块、职工信息查询模块、职工信息排序模块。其系统功能结构如图2所示。 图2系统功能结构图 4、模块函数构造 根据系统功能结构图的描述,可以构造出该系统的抽象数据类型和相对应的函数,其方法名和功能如表1所示。 表1 函数功能表 模块 函数或数据结构 功能 链表数据类型 typedef struct Node 定义链表结点 typedef struct Datatype 定义职工信息 ListInitiateSLNode *head 初始化链表 系统处理模块 SLNode *ListInsertSLNode *head,DataType x 插入职工信息 ListDeleteSLNode *head 删除职工信息 ListModifySLNode *head 修改职工信息 putSLNode *head,FILE *fp 保存职工信息 ListfindSLNode head 查询职工信息 ListpaixuSLNode *head 职工信息排序 输出模块 printSLNode *head 显示职工信息 精品文档---下载后可任意编辑 第三章 详细设计分析 1、 抽象数据类型定义 (1)定义表结点(typedef struct Node) typedef struct Node{ 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) typedef struct{ long int born_time,work_time,tele_num; char name[ALLMAX],sex,degree[ALLMAX],job[ALLMAX],address[ALLMAX]; }DataType; (3)初始化链表(ListInitiateSLNode **head) void ListInitiateSLNode **head//----