数据结构课程设计-简单职工管理系统.docVIP

  • 41
  • 0
  • 约8.26千字
  • 约 17页
  • 2018-06-30 发布于上海
  • 举报

数据结构课程设计-简单职工管理系统.doc

数据结构课程设计题目名称: 简单的职工管理系统 计算机科学与技术学院需求分析 1.问题描述  对单位的职工进行管理,包括插入、删除、查找、排序等功能。2.要求  职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中查询符合某些条件的职工。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。3.实现提示  职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换。(1)由键盘输入职工对象,以文件方式保存。程序执行时先将文件读入内存。(2)对职工对象中的姓名按字典顺序进行排序。(3)对排序后的职工对象进行增、删、查询、修改等操作。概要设计 1.设计一个职工的结构体 typedef struct Worker{ char* name; char* sex; char* Bothdate; char* Workdate; char* school; char* duty; char* address; char* phone; struct Worker *next;}worker;主体函数 (1).输入函数 void Scanfwork(worker** phead,worker** pend,int num); (2).输出函数void Printfwork(worker* phead);(3).查询职工函数void Findworker(worker* phead);(4).更新职工函数void Updata(worker* phead);(5).删除职工函数void Delwork(worker** phead,worker** pend);void Delete(worker** phead,worker** pend,char* name);(6).按字典排序函数worker* Sort(worker** phead,worker** pend,int num);(7).文件调用函数void save(worker* phead);.增加职工函数void Addworker(worker** phead,worker** pend,worker* p);worker* GetnodeIn();详细设计 1.流程图 2.代码详细分析 (1).输入函数 void Scanfwork(worker** phead,worker** pend,int num) { int i; srand((unsigned int)time(0)); for(i=0;inum;i++) { Addworker(phead,pend,Getwork()); }} (2).输出函数void Printfwork(worker* phead){ while(phead) { printf(%s %s %s %s %s %s %s %s\n,phead-name,phead-sex,phead-Bothdate,phead-Workdate,phead-school,phead-duty,phead-phone,phead-address); phead=phead-next; } printf(b返回主菜单); key=getchar(); switch (key) { case b: return; break; default: printf(按错了\n); }}(3).查询职工函数void Findworker(worker* phead){ char* keyword = NULL; worker* w=NULL; worker* newhead=NULL; worker* newend=NULL; worker* pDel=NULL; 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(ph

文档评论(0)

1亿VIP精品文档

相关文档