ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:357.87KB ,
资源ID:19715888      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19715888.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(简单的职工管理系统报告Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

简单的职工管理系统报告Word文档格式.docx

1、1.1 课程设计目的数据结构是计算机专业一门重要的专业技术基础课程。本课程较系统地介绍了软件设计中常用的数据结构以及相应的存储结构和实现算法,介绍了常用的多种查找和排序技术。本课程将为整个专业的学习以及软件设计水平的提高打下良好的基础。为了学好数据结构,必须掌握编写一些在特定数据结构上的算法,并通过上机调试,更好地掌握各种数据结构及其特点,此次数据结构课程设计目的正在于此。经过本次课程设计,我们对于数据结构基本理论和存储结构及算法设计将有更加深入的理解,并提高我们在实际设计操作中系统分析、结构确定、算法选择、数学建模和信息加工的能力,提高我们的C/C+语言程序设计能力,以及培养学我们编写程序设

2、计文档的能力。1.1.1 问题描述根据题目要求,由于职工信息是存放在文件中,所以应提供文件的输入、输出等操作;在程序中需要浏览职工的信息,应提供显示、查找、排序等操作;另外还应提供键盘式选择菜单实现功能选择。1.1.2 详细要求(1)问题说明设计一个简单的职工管理系统,按照课程设计的要求,实现对职工信息的新增、修改、插入、删除、以及排序操作。(2)输入要求由系统管理员依次输入现有职工和新增职工的以下信息:姓名(可以重复)、性别、出生年月、工作年月、学历、职务、地址、电话等信息,并且注意输入时姓名、学历、职务、地址为字符串形式,性别为字符,其余的为长整型数字。(3)输出要求系统管理员根据公司的人

3、员流动情况,选择系统提供的各项功能进行操作,并输出相应的结果。1.2 问题分析(1)具体要求简单的职工管理系统主要实现以下功能:新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。删除一名职工:从职工管理文件中删除一名职工对象。查询:从职工管理文件中查询符合某些条件的职工。修改:检索某个职工对象,对其某些属性进行修改。排序:按某种需要对职工对象文件进行排序。要求:职工信息包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。(2)实现提示:由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。对职工对象中的姓名按字典顺序进行排序。对排序后的职工对象进行增、删、查询

4、、修改、排序等操作。2 概要设计2.1 总体设计思想根据职工管理系统问题的描述和详细需求分析,要达到上述功能,链表的数据结构来存储职工信息,并对其进行相应的插入、删除、修改、查询、排序、保存等操作。(1)输入功能的实现:要想实现职工管理系统的输入,必须要建立一个职工信息系统的抽象数据类型,其中职工信息以链表的存储方式实现。(2)系统处理功能的实现:系统管理员根据公司的人员流动情况,在提示信息的提示下,选择相应的服务进行操作。(3)输出的实现:根据选择的操作,输出与之对应的信息。综上可以绘制出职工管理问题的系统流程图,如图1所示图1 系统流程图2.2 系统功能设计根据职工管理系统问题的分析和设计

5、要求,可以得到该职工管理系统可以分为五个模块:职工信息添加模块、职工信息修改模块、职工信息删除模块、职工信息查询模块、职工信息排序模块。其系统功能结构如图2所示。图2 系统功能结构图2.3 模块函数构造根据系统功能结构图的描述,可以构造出该系统的抽象数据类型和相对应的函数,其方法名和功能如表1所示。表1 函数功能表模块函数或数据结构功能链表数据类型typedef struct Node定义链表结点typedef struct Datatype定义职工信息ListInitiate(SLNode *head)初始化链表系统处理模块SLNode *ListInsert(SLNode *head,Da

6、taType x)插入职工信息ListDelete(SLNode *head)删除职工信息ListModify(SLNode *head)修改职工信息put(SLNode *head,FILE *fp)保存职工信息Listfind(SLNode head)查询职工信息Listpaixu(SLNode *head)职工信息排序输出模块print(SLNode *head)显示职工信息2.4 系统模块的调用关系图框架根据需求分析和概要分析,可以得出职工管理系统问题的系统模块类图。如图3所示图3 模块调用关系图3 详细设计3.1 抽象数据类型定义(1)定义表结点(typedef struct Nod

7、e)typedef struct Node long int born_time,work_time,tele_num; char sex,nameALLMAX,degreeALLMAX,jobALLMAX,addressALLMAX; struct Node *next;SLNode;(2)定义职工信息(typedef struct Datatype)typedef struct char nameALLMAX,sex,degreeALLMAX,jobALLMAX,addressALLMAX;DataType;(3)初始化链表(ListInitiate(SLNode *head)void L

8、istInitiate(SLNode *head)/-链表初始化 if(*head=(SLNode *)malloc(sizeof(SLNode)=NULL) exit(1);/动态分配存储空间 (*head)-next=NULL;3.2 主函数设计根据详细设计要求,可以得到主函数代码及其对应的程序流程图:在主函数中,实现了友好的界面设计。系统需要输入职工的基本信息:姓名、性别、出生年月、工作年月、学历、职务、住址、电话等。这个系统还利用键盘输入提供的主菜单服务,在主菜单中,有七种操作的调用:新增职工信息:查询职工信息:删除职工信息:修改职工信息:职工信息排序:保存职工信息:显示职工信息:主函

9、数代码见附录1主函数程序流程图如图4所示:图 4 主函数程序流程图3.3 查找算法设计在查询算法中,职工管理系统提供了七种查询操作,实现了系统的人性化查询操作。这些查询操作分别为:对姓名进行查询,对性别进行查询,对出生年月进行查询,对工作年月进行查询,对学历进行查询,对职位进行查询,对住址进行查询,对电话进行查询等一些列操作。查找算法中,利用链表的指针的移动扫描整个职工信息表,利用strcmp()函数判断字符串是否匹配。查询算法程序流程图如图5所示:图 5 查询算法程序流程图3.4 排序算法设计在排序算法中,职工管理系统提供了四种查询操作,实现了系统的基本排序操作。这些排序操作分别为:对姓名进

10、行排序,对性别进行排序,对出生年月进行排序,对工作年月进行排序,等一些列操作。排序算法中,利用链表的指针的移动扫描整个职工信息表,利用strcmp()函数判断字符串是否匹配。排序的核心代码:for(q=head-next,p=head,s=p;q;s=p,p=q,q=q-next) if(p-born_timeq-born_time)/对出生年月进行排序 if(head=p) head-next=q-next; head=q; q-next=p; q=head- p=head; else p- s-next=q; p=q; q=p- flag=1; 排序算法流程图如图6所示:图6 排序算法程序

11、流程图4 测试测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.其主要阶段包括单元测试、集成测试、确认测试和系统测试。测试方法主要有白盒测试法和黑盒测试法;其中,白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作;黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序

12、功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。职工信息有:姓名、性别、出生年月、工作年月、学历、职务、住址、电话。在数据输入中注意数据类型:现有10组测试数据:姓名、性别、出生年月、工作年月、学历、职务、住址、电话aa a 32543 453254 aaa aaaa aaaaa 4365357bb b 52654 654365 bbb aaaa bbbbb 5365463cc a 54325 546354 aaa bbbb ccccc 4354365dd b 435

13、43 435465 bcb dddd ccccc 1351512ee a 23611 151312 bbb cccc bbbbb 1531515ff b 53111 151515 fff ffff fffff 1561561gg b 53111 435465 aaa bbbb fffff 4454564hh b 11223 564564 hhh hhhh hhhhh 1545555kk a 45455 454545 kkk aaaa kkkkk 4564534pp a 54565 456454 fff ffff wwwww 4564565系统运行结果:(1)进入职工管理系统,如图7所示:图 7

14、 进入职工管理系统界面(2)输入职工人数为4,并输入职工信息,如图8所示:图8 主菜单选择界面(3)新增一职工信息并查询全部职工信息,如图9所示:图 9 新增并查询职工信息界面(4)删除并查询信息,如图10所示:删除职工姓名:dd图10 删除并查询职工信息界面(5)修改职工信息并与前面信息对照,如图11所示:修改职工姓名:ee图11 修改职工信息界面(9)对职工信息进行排序,如图12所示:按照出生年月进行排序:图12 职工按照出生年月进行排序的界面(10)退出系统,如图13所示:选择 0,退出职工管理系统。图13 退出职工管理系统界面5 课程设计总结5.1 该课程设计的特点本次课程设计是围绕数

15、据结构进行。根据问题描述可知,需要解决问题并不复杂,整个问题只需要实现一个职工管理系统功能,那就是在这个系统中实现对职工信息的插入、删除、查询、排序、修改以及保存。但是,为了实现该功能,却需要优秀的算法和数据结构以保证实现的时间和空间效率。把职工信息存储在一个单链表中,利用指针实现对职工信息的各项基本操作。5.2 存在的不足虽然设计的程序完成了题目描述所需要实现的功能,但是仍然存在不尽人意的地方。那就是可以再排序上面多设计几个算法。实现多角度排序。在这个系统中没有职工序号的信息,所以允许职工姓名相同,在很大程度上面,可能是的职工信息重复。5.3 心得体会经过这次数据结构课程设计,我们不仅及时巩

16、固的了数据结构、算法、以及软件工程的知识,并对数据结构和算法的配合对于程序时间和空间性能的影响以及软件工程提供的开发流程和工具对于实现特定功能程序的重要意义。当我们面对一个实际问题,应该迅速根据问题性质和特点抽象成特定的数据结构,当然每个问题都有可能能够抽象成多种数据结构,每种数据结构适应于不同的算法,例如,马踏棋盘问题就可以采用广度优先搜索或深度优先搜索来解决。因此此时就应该综合考虑这样的数据结构、算法以及它们的空间和时间效率,然后从中选择一个作为实现程序的基础。此外,对程序的测试应该要仔细,根据模块的特点和测试阶段,采用各种软件测试方法对程序进行测试,确保各个模块的正确性和完整性,最后集成起来测试其是否正确和完整地实现了问题描述中要求的功能。参考文献1李云清,杨庆红,揭安全.数据结构(C语言版)M.人民邮电大学出版社,2004.62潘彦.算法设计与分析基础M.北京:清华大学出版社,2007.13肖梦强,曲秀清.软件工程原理、方法与应用M.中国水利水电出版社,2005.104 吕凤翥.C+语言程序设计(第2版).电子工业出版社,2007.25 严蔚敏,吴伟民.数据结构(C语言版)M.清华大学出版社,2002.9

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1