资源描述:
《数据结构课程设计 简单的职工管理系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.数据结构课程设计题目名称:简单的职工管理系统计算机科学与技术学院一.需求分析1.问题描述 对单位的职工进行管理,包括插入、删除、查找、排序等功能。2.要求 职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。...(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。3.实现提示
2、 职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。(2)对职工对象中的"姓名"按字典顺序进行排序。(3)对排序后的职工对象进行增、删、查询、修改等操作。一.概要设计1.设计一个职工的结构体typedefstructWorker{char*name;char*sex;char*Bothdate;char*Workdate;char*school;char*duty;char*address;char*phone;structWorke
3、r*next;}worker;2.主体函数(1).输入函数voidScanfwork(worker**phead,worker**pend,intnum);(2).输出函数voidPrintfwork(worker*phead);(3).查询职工函数voidFindworker(worker*phead);(4).更新职工函数voidUpdata(worker*phead);(5).删除职工函数voidDelwork(worker**phead,worker**pend);voidDelete(worker**phea
4、d,worker**pend,char*name);(6).按字典排序函数worker*Sort(worker**phead,worker**pend,intnum);...(7).文件调用函数voidsave(worker*phead);(8).增加职工函数voidAddworker(worker**phead,worker**pend,worker*p);worker*GetnodeIn();一.详细设计1.流程图2.代码详细分析...(1).输入函数voidScanfwork(worker**phead,work
5、er**pend,intnum){inti;srand((unsignedint)time(0));for(i=0;iname,phead->sex,phead->Bothdate,phead->Workdate,phead->school,phead->duty,
6、phead->phone,phead->address);phead=phead->next;}printf("b返回主菜单");key=getchar();switch(key){case'b':return;break;default:printf("按错了");}}(3).查询职工函数voidFindworker(worker*phead){char*keyword=NULL;worker*w=NULL;worker*newhead=NULL;worker*newend=NULL;worker*pDel=NU
7、LL;worker*bj=phead;...while(1){while(1){printf("请输入要查询的关键字:");keyword=getstring();printf("按a键确认你的输入,按其他键重新输入:");if(getkey()=='a'){break;}else{free(keyword);keyword=NULL;}}phead=bj;while(phead){if(strncmp(phead->name,keyword,strlen(keyword))==0
8、
9、strncmp(phead->se
10、x,keyword,strlen(keyword))==0
11、
12、strncmp(phead->Bothdate,keyword,strlen(keyword))==0
13、
14、strncmp(phead->Workdate,keyword,strlen(keyword))==0
15、
16、strncmp(phead->school,keyword