版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 / 18学 号 09710219 书直,优数据结构课程设计设计说明书员工管理系统起止日期: 2012年1月2日至 2012年1月6日学生 姓 名 孙久岩班级09计算机2班成绩指导教师(签字)电子与信息工程系2012年1月4日天津城市建设学院课程设计任务书20102011学年第1学期电子与信息工程 系计算机专业 09级二班级课程设计名称:数据结构课程设计设计题目:员工管理系统完成期限:自 2成2年1 月 2 日至 2012 年 1 月 6日共 1 周设计依据、要求及主要内容(可另加附页):一、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。二、设计要求(1)重视课程设
2、计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄 袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入 本课程设计成绩;(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;(4)认真编写课程设计报告。三、设计内容员工管理系统:1)问题描述每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。系统能够完成员工信息的查询、更新、插入、删除、排序等功能。2)基本要求(1)排序:按不同关键字,对所有员工的信息进行排序。(2)查询:按特定
3、条件查找员工。(3)更新:按编号对某个员工的某项信息进行修改。(4)插入:加入新员工的信息。(5)删除:按编号删除已离职的员工的信息。四、参考文献数据结构.清华大学出版社2.王红梅.数据结构学习辅导与实验指导.清华大学出版社吴伟民.数据结构(C语言版).清华大学出版社五.主要内容:1.系统流程图添加用户功能2.源代码:#include #include #include /清屏函数头文件#include struct Stuffchar number10;/员工编号char name10;/员工姓名char sex8;/员工性别char borth10;/员工生日char degree20;/
4、员工学历char business20;/员工职务char phone15;/员工电话char place50;/员工住址char con50;/判断关键字专用struct Stuff *next;char Menu(void);/菜单显示struct Stuff *App(struct Stuff *head);/添加void Sort(struct Stuff *head);/排序struct Stuff *Ser(struct Stuff *head);/查找void Chn(struct Stuff *head,char n10);/更改void Scpy(char *p,char *
5、q);/排序中用于交换员工信息struct Stuff *Del(struct Stuff *head,char n10); /删除int Sel(char ch,struct Stuff *p,struct Stuff *q); /判断排序及关键字专用函数void Prf(struct Stuff *head);/输出void Fre(struct Stuff *head);/释放int i=1; / 定义全局变量,实现实时员工人数统计int main(void)char n10;struct Stuff *head=NULL; /链表头指针定义while(1)switch(Menu()ca
6、se 1:printf( 请输入员工信息,直接输入 # 结束 n);head=App(head);break;case 2:Sort(head);break;case 3:head=Ser(head);break;case 4:printf( 员工信息如下:n);Prf(head);break;case 5:printf( 请输入员工编号 :);scanf(%s,n);Chn(head,n);break;case 6:printf( 请输入员工编号 :);scanf(%s,n);head=Del(head,n);break;case 0:printf( 欢迎下次光临, 88!n);exit(0
7、);default:printf( 输入错误,请重新输入 !n);fflush(stdin); /清楚缓冲区printf( 按任意键继续);getchar();system(cls); /清屏效果Fre(head);return 0;/ 菜单函数char Menu(void)char ch;printf(请选择 n);printf(1. 添加员工信息n2. 员工信息排序n3. 查找员工信息n4. 输出员工信息n5. 更改员工信息 n6. 删除员工信息n0. 退出 nn);scanf( %c,&ch);return ch;/ 添加成员函数/ 输入参数: 链表头指针/ 返回参数 : 链表头指针st
8、ruct Stuff *App(struct Stuff *head)struct Stuff *p=NULL,*q=head;while(i)p=(struct Stuff *)malloc(sizeof(struct Stuff); / 申请结构体空间if(p=NULL)printf( 内存不够 !n);exit(0);p-next =NULL; / 指针域为空printf( 请输入第d名员工:n”,i);printf( 编号 | 姓名 | 性别 | 出生年月 | 学历 | 职务 | 电话 | 住址 :n);fflush(stdin);scanf(%s,p-number );if(!str
9、cmp(p-number ,#)free(p); /释放不需要的结构体内存break;else+i;scanf(%s%s%s%s%s%s%s,p-name ,p-sex ,p-borth ,p-degree ,p-business ,p-phone ,p-place );p-con0=0; / 防止后面判断出现随机值if(head=NULL)head=p;elsewhile(q-next !=NULL) / 防止结束后再次输入时出现问题q=q-next ;q-next =p;q=p; /每次都加在链表尾return head;/ 排序函数/ 输入参数: 头指针void Sort(struct
10、Stuff *head)char ch;struct Stuff *p,*q,*r;while(1)printf( 请选择排序条件:1. 编号 2.姓名 3. 性别 4. 出生年月 5. 学历 6. 职务 7. 电话 8.地址 0. 退出n);scanf( %c,&ch);if(ch=0)break;if(ch8)printf( 输入错误,请重新输入 !n);continue;p=head;while(p-next!=NULL)/q=p-next;r=p;while(q!=NULL)if(Sel(ch,r,q)/r=q;q=q-next;if(r!=p)/Scpy(r-number,p-num
11、ber);Scpy(r-name,p-name);Scpy(r-sex,p-sex);Scpy(r-borth,p-borth);Scpy(r-degree,p-degree);Scpy(r-business,p-business);Scpy(r-phone,p-phone);Scpy(r-place,p-place);p=p-next;Prf(head); /输出调用判断函数交换内容选择排序/ 交换函数void Scpy(char *p,char *q)char c50;strcpy(c,p);strcpy(p,q);strcpy(q,c);/ 判断函数/ 输出参数 :1 为真, 0 为假i
12、nt Sel(char ch,struct Stuff *p,struct Stuff *q)switch(ch) / 实现各个关键字查找case 1:return strcmp(q-number ,p-number )con ,p-number )=0 ; /排序条件及查找条件case 2:return strcmp(q-name ,p-name )con ,p-name )=0 ;case 3:return strcmp(q-sex ,p-sex )con ,p-sex )=0 ;case 4:return strcmp(q-borth ,p-borth)con ,p-borth )=0
13、;case 5:return strcmp(q-degree ,p-degree )con ,p-degree )=0 ;case 6:return strcmp(q-business ,p-business )con ,p-business)=0 ;case 7:return strcmp(q-phone ,p-phone )con ,p-phone)=0;case 8: return strcmp(q-place ,p-place )con ,p-place )=0;default :exit(0);/ 查找函数struct Stuff *Ser(struct Stuff *head)st
14、ruct Stuff *p=NULL,*q,a=0,0,0,0,0,0,0,0; / 防止判断时错误int flag; / 查找判断char ch,sh;q=&a;while(1)printf( 请输入要查找的条件:1. 编号 2. 姓名 3.性别 4. 出生年月 5. 学历 6. 职务 7. 电话 8. 住址 0.退出 n);scanf( %c,&ch);if(ch=0)break;if(ch8)printf( 输入错误,请重新输入 !n);continue;fflush(stdin);printf( 请输入 :);gets(q-con );p=head; / 指向表头flag=0;whil
15、e(p!=NULL)if(Sel(ch,p,q)printf( 员工信息如下 :n);printf( 编 号 | 姓 名 | 性 别 | 出 生 年 月 | 学 历 | 职 务 | 电 话 | 住 址 n%s %s %s %s %s %s %s %sn,p-number ,p-name ,p-sex ,p-borth ,p-degree ,p-business ,p-phone ,p-place );printf( 是否需要 :1. 更改 2. 删除 3. 继续 n);scanf( %c,&sh);if(sh=1)调用更改函数调用删除函数,得到的 head 必须 returnChn(head,
16、p-number); /else if(sh=2)head=Del(head,p-number); /flag=1;break;p=p-next ;if(flag=0)printf( 没有找到该员工信息!n);return head;/ 更改函数/ 输入参数:n10 为员工编号void Chn(struct Stuff *head,char n10) struct Stuff *p=head;int flag=0;if(head=NULL)printf( 未找到员工信息 !n);elsewhile(p!=NULL)if(!strcmp(p-number,n)printf( 请输入新的信息 :n
17、 编号 | 姓名 | 性别 | 出生年月 | 学历 | 职务 | 电话 | 住址 n);scanf(%s%s%s%s%s%s%s%s,p-number ,p-name ,p-sex ,p-borth ,p-degree ,p-business ,p-phone ,p-place );printf( 员工信息如下 :n);flag+;break;p=p-next;if(flag=0)printf( 未找到该员工信息!n);Prf(head);/ 删除函数/ 输入参数:n 为员工编号/ 输出参数: 头指针struct Stuff *Del(struct Stuff *head,char n10)
18、/ 18 / 18struct Stuff *p,*pr;int flag;flag=0;p=head,pr=head;if(head=NULL)printf( 未找到员工信息 !n);elsewhile(strcmp(p-number ,n)&p-next !=NULL)pr=p;p=p-next ;if(!strcmp(p-number ,n)if(p=head)head=p-next ;elsepr-next=p-next ;free(p);printf( 删除成功 !n);i-;elseprintf( 未找到员工信息!n);Prf(head);return head;/ 输出函数voi
19、d Prf(struct Stuff *head)struct Stuff *p=head;int i=1;while(p!=NULL)printf(%d. %s %s %s %s %s %s %s %sn,i+,p-number ,p-name ,p-sex ,p-borth ,p-degree ,p-business ,p-phone ,p-pla ce);p=p-next ;/ 释放函数void Fre(struct Stuff *head)struct Stuff *p;while(head!=NULL)p=head;head=head-next ;free(p);六实验界面截图:( 1 )管理界面F:09710219Debug员工管琏-exe”(3)修改信息界面 / 18目自心 息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年租赁合同租金调整及维修责任
- 2024版房地产买卖及租赁合同
- 如何做到合理膳食与健康
- 2024贷款分款协议书
- 2024年高端化妆品市场exclusivity合同
- 四川三河职业学院《马克思主义经济学》2023-2024学年第一学期期末试卷
- 2024年高端智能设备采购与技术转让合同
- 防水施工监理旁站记录
- 电气培训资料:电缆敷设方式与代号
- 铜仁幼儿师范高等专科学校《药学外语》2023-2024学年第一学期期末试卷
- 2024年中考语文名著阅读《儒林外史》内容简介、主要人物形象及相关练习
- 旅游商圈城市商圈oto系统
- 加速康复外科(ERAS)-骨科患者术后疼痛管理
- 研究生实验方案
- 三年级加法竖式题50道
- 阿里国际站合作协议
- 融资租赁物流方向行业报告
- 服务重点客户
- 工业滤芯行业利润分析
- 2023年四川成都市初中学业水平考试生物试卷真题(答案详解)
- 桥梁工程施工现场监测方案
评论
0/150
提交评论