欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构课程设计企业员工信息管理系统设计与实现.docx

    • 资源ID:17545138       资源大小:174.38KB        全文页数:36页
    • 资源格式: DOCX        下载积分:6金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要6金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构课程设计企业员工信息管理系统设计与实现.docx

    1、数据结构课程设计企业员工信息管理系统设计与实现算法与数据结构课程设计题目:企业员工信息管理系统设计与实现院、 系: 计算机信息与技术系学科专业: 软件工程 学 号: B10060XXX 2012年9月16日 设计要求1.1 问题描述企业员工信息管理系统,包括企业中所有员工的基本信息,如:工号、姓名、性别、学历等。且该系统能够完成新员工的增添、所有员工信息的相应查询、修改、删除等各项功能。1.2 需求分析(1)在相应的每条记录中,应该包括该员工的所有信息,如:工号、姓名、性别、学历等;(2)根据不同关键字(如工号,姓名等),对所有员工的信息进行排序;(3)按照指定条件查找某个员工的所有信息;(4

    2、)按工号对某个员工的信息进行修改;(5)添加新员工的信息;(6)按工删除已离职、退休员工的信息;(7)与此同时,除了以上基本的需求以外,该企业员工信息管理系统的程序源代码还应具有良好的编程结构和适当的注释,运行界面清晰,提示内容明确,易于操作。 概要设计2.1 主界面设计 当输入相应的操作字符(如:数字0-6),实现并完成各项功能操作(如:建立、修改、删除、显示、退出等)。系统主界面如下:2.2 存储结构设计依据给定的数据格式,个人信息由四个字段来组成,即工号、姓名、性别、学历,外加一个判断关键字。如: 工号 | 姓名 | 性别 | 学历 123 feng n daxue 本课程设计根据功能需

    3、求,使用线性结构来组织数据,由于要对表中某项数据进行插入、删除操作,所以使用链表比较方便。2.3 系统功能设计依据程序的数据结构和功能,遵照“自顶向下,逐步细化”原则,描述该程序的层次结构,在总体上包括数据的增添、修改、删除、查询以及数据的显示等功能模块。(1)新增函数功能:通过输入各项数据给数据元素,来建立一个数据表。(2)显示函数功能:输出表中所有节点的信息。(3)查询函数功能:按照指定关键字,对相应员工信息进行查询。(4)修改函数功能:输入员工工号,查询员工信息,对其信息进行修改。(5)删除函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。(6)主函数功能:调用以上子函数,并

    4、用开关语句进行选择性的调用。 模块设计3.1 系统子程序及功能设计(1) 新增员工信息,利用函数: creatlist(linklist &L)(2) 显示所有员工信息,利用函数: display(linklist &L)(3) 删除员工信息,是按员工工号删除,利用函数: delet(linklist &L,char num6)(4) 查询员工信息,按工号和姓名进行查询;按工号查询利用函数: searchnum(linklist &L,char num10) ; 按姓名查询利用函数: searchname(linklist &L,char name10)(5) 修改员工信息,利用函数: alt

    5、er(linklist &L,char num6)3.2 系统功能图图3-2 系统功能图 详细设计4.1 数据类型定义结构体定义:typedef struct node char num6; /工号 char name10; /姓名 char sex6; /性别 char degree20; /学历 struct node *next; /指针域 node,*linklist;4.2 系统主要子程序详细设计1. 显示函数函数原型: void display(linklist &L)函数功能:输出表中所有节点的信息。算法要点:使用循环输出所有信息。主要算法:void display(linkli

    6、st &L) linklist p; for(p=L-next;p;p=p-next) printf(工号 %s,p-num); printf(姓名 %s,p-name); printf(性别 %s,p-sex); printf(学历 %s,p-edu); 2. 删除函数函数原型:void delet(linklist &L,char num6)函数功能:查找到要删除员工的相应信息,并将其从表中永久的删除。算法要点:(1) 按关键字查找信息;(2) 链表中删除节点信息,并释放节点空间。主要算法:int delet(linklist &L, char num6) node *p; /*实现删除操

    7、作的临时的结构体指针变量*/ node *r; p=L-next; r=L; if(!L-next) /当list无后继结点时,提示和结束返回del() printf(n=提示:没有记录可以删除!n); printf(n); return 1; while(!(strcmp(p-num,num)=0)&p) r=p; p=p-next; if(!p) printf(nnttt 找不到该职工信息!n); else r-next=p-next; free(p); printf(删除成功n); printf(n); return 1; 3. 查询函数(1)按工号查询int searchnum(lin

    8、klist &L,char num10) node *p; p=L; while(p) if(strcmp(p-num,num)=0) printf(t); printf(工号 %s,p-num); printf(t); printf(姓名 %s,p-name); printf(n); printf(t); printf(性别 %s,p-sex); printf(t); printf(t); printf(学历 %s,p-edu); printf(n); p=p-next; return 1;(2)按姓名查询int searchname(linklist &L,char name10) nod

    9、e *p; p=L; while(p) if(strcmp(p-name,name)=0) printf(t); printf(工号 %s,p-num); printf(t); printf(姓名 %s,p-name); printf(n); printf(t); printf(性别 %s,p-sex); printf(t); printf(t); printf(学历 %s,p-edu); printf(n); p=p-next; return 1;4. 修改函数 (按工号修改)int alter(linklist &L,char num6) node *p; p=L; while(p) if

    10、(strcmp(p-num,num)=0) printf(请输入员工的工号:n); printf(您输入的是:); printf(t); scanf(%s,p-num); printf(请输入员工的姓名:n); printf(您输入的是:); printf(t); scanf(%s,p-name); printf(请输入员工的性别:n); printf(您输入的是:); printf(t); scanf(%s,p-sex); printf(请输入员工的学历:n); printf(您输入的是:); printf(t); scanf(%s,p-edu); p=p-next; printf(n);

    11、return 1;5. 主函数主函数主要是调用以上的子函数,用开关语句进行选择性的调用。大致程序如下:void main()linklist L; int a; char m; char name10; char num6; initlist(L); int g; int f=1; while(f) menu(); scanf(%d,&g); printf(n); switch(g) case 1: creatlist(L); do printf(是否继续输入?(y/n); printf(t); getchar(); scanf(%c,&m); if(m=y) creatlist(L); wh

    12、ile(m!=n); printf(n); break; case 2: printf(请输入修改员工的工号:); printf(您输入的是:); printf(t); getchar(); scanf(%s,&num); alter(L,num); printf(n); break; case 0: f=0; printf(nn); break;6. 其他函数这些函数主要起到辅助功能,比如:菜单函数,主要起到引导作用;菜单函数原型:void menu() 测试分析5. 程序各功能的运行结果:5.1 系统主界面5.2 建立信息(1)首先输入操作字符“1”;(2)接着输入员工信息;(3)最后输入

    13、操作字符“n”结束输入。5.3 修改信息(1)首先输入操作字符“2”;(2)再输入新的员工信息, 5.4 查询信息(1)首先输入操作字符“3”;(2)接着输入操作字符“1”或者“2”(即实现按“工号”查询,或者按“姓名”查询);(3)再输入编号的字符“1”;5.5 显示信息输入操作字符“5”;5.6 删除信息输入操作字符“4”; 5.7退出系统输入操作字符“0”; 源程序清单#include#include#includetypedef struct node /定义节点类型 char num6; char name10; char sex3; char edu6; struct node *

    14、next;node,*linklist;int creatlist(linklist &L) /头插法生成单链表 linklist p; p=(linklist)malloc(sizeof(node); if(!p) return (0); else printf(请输入员工的工号:n); printf(t); scanf(%s,p-num); printf(请输入员工的姓名:n); printf(t); scanf(%s,p-name); printf(请输入员工的性别:n); printf(t); scanf(%s,p-sex); printf(请输入员工的学历:n); printf(t)

    15、; scanf(%s,p-edu); 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 meau() printf(t* _ 欢迎使用企业员工信息系统 _ *n); printf(n); printf(t * 1 建立员工信息表 *n); printf(t * 2 插入新员工信息 *n); printf(t * 3 查询员工信息记录 *n); printf(t * 4 删除

    16、员工信息记录 *n); printf(t * 5 显示员工信息 *n); printf(t * 0 退出管理系统 *n); printf(n); printf(t* _ 欢迎使用企业员工信息系统 _ *n); printf(n); printf(t XXXn); printf(t 2012年9月12日n); printf(n); printf(请您从0-5中选择: n); printf(您选择的是:); printf(t);void display(linklist &L) /显示所有员工信息 linklist p; for(p=L-next;p;p=p-next) printf(t); pr

    17、intf(工号 %s,p-num); printf(t); printf(姓名 %s,p-name); printf(n); printf(t); printf(性别 %s,p-sex); printf(t); printf(t); printf(学历 %s,p-edu); printf(n); printf(n); printf(n);int delet(linklist &L,char num6) /按工号删除 node *p; /*实现删除操作的临时的结构体指针变量*/ node *r; p=L-next; r=L; if(!L-next) /当list无后继结点时,提示和结束返回del

    18、() printf(n=提示:没有记录可以删除!n); printf(n); return 1; while(!(strcmp(p-num,num)=0)&p) r=p; p=p-next; if(!p) printf(nnttt 找不到该职工信息!n); else r-next=p-next; free(p); printf(删除成功n); printf(n); return 1; int searchnum(linklist &L,char num10) /查询工号 node *p; p=L; while(p) if(strcmp(p-num,num)=0) printf(t); prin

    19、tf(工号 %s,p-num); printf(t); printf(姓名 %s,p-name); printf(n); printf(t); printf(性别 %s,p-sex); printf(t); printf(t); printf(学历 %s,p-edu); printf(n); p=p-next; return 1;int searchname(linklist &L,char name10) /查询姓名 node *p; p=L; while(p) if(strcmp(p-name,name)=0) printf(t); printf(工号 %s,p-num); printf(

    20、t); printf(姓名 %s,p-name); printf(n); printf(t); printf(性别 %s,p-sex); printf(t); printf(t); printf(学历 %s,p-edu); printf(n); p=p-next; return 1;int alter(linklist &L,char num6) /修改信息 node *p; p=L; while(p) if(strcmp(p-num,num)=0) printf(请输入员工的工号:n); printf(您输入的是:); printf(t); scanf(%s,p-num); printf(请

    21、输入员工的姓名:n); printf(您输入的是:); printf(t); scanf(%s,p-name); printf(请输入员工的性别:n); printf(您输入的是:); printf(t); scanf(%s,p-sex); printf(请输入员工的学历:n); printf(您输入的是:); printf(t); scanf(%s,p-edu); p=p-next; printf(n); return 1;void main() /主函数 linklist L; int a; char m; char name10; char num6; initlist(L); int

    22、g; int f=1; while(f) meau();scanf(%d,&g); printf(n); switch(g) case 1: creatlist(L); do printf(是否继续输入?(y/n); printf(t); getchar(); scanf(%c,&m); if(m=y) creatlist(L); while(m!=n); printf(n); break; case 2: printf(请输入修改员工的工号:); printf(您输入的是:); printf(t); getchar(); scanf(%s,&num); alter(L,num); print

    23、f(n); break; case 3: printf(请选择查询方式(1.按工号查询 , 2.按姓名查找); printf(n); printf(您选择的是:); printf(t); scanf(%d,&a); if(a=1) printf(请输入查询员工的工号:n); printf(您输入的是:); printf(t); scanf(%s,&num); printf(n); searchnum(L,num); if(a=2) printf(请输入查询员工的姓名:n); printf(您输入的是:); printf(t); scanf(%s,&name); printf(n); searc

    24、hname(L,name); printf(n); break; case 4: printf(请输入删除员工的工号:n); printf(您输入的是:); printf(t); getchar(); scanf(%s,&num); printf(n); delet(L,num); break; case 5: printf(所有员工的信息如下所示n); printf(n); display(L); printf(n); break; case 0: f=0; printf(nn); printf(tn); printf(t*n); printf(t * * n); printf(t * 感谢您的使用,再见! * n); printf(t * * n); printf(t*n); printf(t


    注意事项

    本文(数据结构课程设计企业员工信息管理系统设计与实现.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开