资源描述:
《简单的职工管理系统报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、简单的职工管理系统一、问题描述 对单位的职工进行管理,包括录入、删除、查询、修改、排序、显示软件信息等功能。1.要求 职工信息包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息。(1)新增一名职工:将新增职工对象录入职工管理文件中。(2)删除一名职工:从职工管理文件中删除一名职工对象。(3)查询:从职工管理文件中按条件查询符合某些条件的职工。(4)修改:检索某个职工对象,按条件对其某些属性进行修改。(5)排序:按名字首字母对职工信息对职工对象文件进行排序。(6)显示:显示软件信息等功能。二、设计1.信息输入:要想实现职工管理系统的输入,必须要建
2、立一个职工信息系统的抽象数据类型,其中职工信息以链表的存储方式实现。2.信息处理:由于职工会存在流动周转,职工的信息会有所变化,因此该算法实现了员工的录入、删除、查询、修改、排序等功能3.信息输出:根据不同的操作,输出相应数据。退出系统4.结构设计录入职工职工信息输出职工排序职工修改职工查询删除职工职工信息输入清屏软件信息5.函数类型函数名功能structworker定义链表结点voidchushi()每次开始操作后,自动把文件里的数据写入链表voidinput()职工信息的录入voiddelet()职工信息的删除(按姓名删除)voidsearch()职工信息查
3、询(按姓名、职位、或者电话查询)voidsearch_name()按姓名查询职工信息voidsearch_post()按职位查询职工信息voidsearch_tele()按电话查询职工信息voidchange()职工信息的修改(按各种条件修改)voidchange_name()修改职工的姓名信息voidchange_sex()修改职工的性别信息......voidchange_tele()修改职工的电话信息voidinorder()按职工名字首字母进行排序(升序)voiddisplay(structworker*qd)特定职工信息显示voidcx()将链表中的数
4、据写入文件voidrjxx()显示软件信息6.函数间的调用(主函数内)核心代码voidmain(){intn;QD=(structworker*)malloc(sizeof(structworker));QD->next=NULL;chushi();do{scanf("%d",&n);while(n>8
5、
6、n<1){scanf("%d",&n);}switch(n){case1:input();break;信息录入case2:delet();break;信息删除case3:search();break;信息查询case4:change();break;信息修改c
7、ase5:inorder();break;信息排序case6:system("CLS");break;清屏case7:rjxx();break;软件信息}cx();}while(n!=8);}三、测试1.主界面2.录入职工信息(1)核心代码voidinput(){structworker*p;charqname[20];intwu;do{scanf("%s",qname);p=(structworker*)malloc(sizeof(structworker));if(p==NULL){return;}strcpy(p->name,qname);scanf("%
8、s",qname);strcpy(p->sex,qname);scanf("%s",qname);strcpy(p->birday,qname);scanf("%s",qname);strcpy(p->workday,qname);scanf("%s",qname);strcpy(p->edu,qname);scanf("%s",qname);strcpy(p->post,qname);scanf("%s",qname);strcpy(p->add,qname);scanf("%s",qname);strcpy(p->tele,qname);p->next=QD
9、->next;QD->next=p;scanf("%d",&wu);printf("");system("CLS");}while(wu==1);}。。。。。。。2.删除职工信息(1)核心代码voiddelet(){structworker*qd,*qb;charqname[20];intwu,n;do{wu=1;scanf("%s",qname);printf("");qb=QD;for(qd=QD->next;qd!=NULL;qb=qd,qd=qd->next){if(strcmp(qd->name,qname)==0)break;}if(qd
10、==NULL){scan