1、/*简单职工信息管理系统(使用 c 语言,有效代码 160 行)功能:添加职工信息删除职工信息查看某员工信息输出全部员工信息使用 结构体指针,链表管理*/#include#include#include#includestruct stuffchar name10;/姓名char xingbie10;/性别char zhiwei10;/职位int num;/工号int age;/年龄char xueli10;/学历double gongzi;/工资struct stuff *next;/stuff 链表指针 next*phead;/stuff 头指针void init()/初始化链表phead
2、=(struct stuff*)malloc(sizeof(struct stuff);phead-next=NULL;void creat()/添加职工信息struct stuff *p;while(1)printf(“请依次输入工号、姓名、性别、职位、年龄、学历、工资(工号为 0 时结束添加):n“);p=(struct stuff*)malloc(sizeof(struct stuff);scanf(“%d“,if(p-num=0)free(p);printf(“本次输入结束,enter 返回n“);break;scanf(“%s“,scanf(“%s“,scanf(“%s“,scanf
3、(“%d“,scanf(“%s“,scanf(“%d“,p-next=phead-next;phead-next=p;void disp(struct stuff *q)/输出指针 q 指向职工信息printf(“工号%dt“,q-num);printf(“姓名%st“,q-name);printf(“性别%st“,q-xingbie);printf(“职位%st“,q-zhiwei);printf(“年龄%dt“,q-age);printf(“学历%st“,q-xueli);printf(“工资%dtn“,q-gongzi);void dispall()struct stuff *q;q=p
4、head-next;while(q!=NULL)/输出全部职工信息disp(q);q=q-next;printf(“输出完毕n“);void del(int h)/按工号删除职工信息struct stuff *q,*p;p=phead;q=p-next;while(q!=NULLif(q=NULL)printf(“查无此人n“);elsep-next=q-next;free(q);printf(“删除成功n“);int find(int g)/按工号查找职工struct stuff *q;q=phead-next;while(q!=NULLif(q=NULL)printf(“查无此人n“);e
5、lsedisp(q);/返回该指向职工信息指针,disp()输出return 1;void menu()/主菜单int k;doprintf(“n“);printf(“n“);printf(“n“);printf(“-*-n“);printf(“tttt1.添加员工 n“);printf(“tttt2.删除员工 n“);printf(“tttt3.查找员工 n“);printf(“tttt4.显示全部 n“);printf(“tttt0.退出 n“);printf(“-*-n“);printf(“输入操作指令:“);scanf(“%d“,system(“cls“);switch(k)case
6、1:init();/初始化头结点creat();/添加职工信息getch();system(“cls“);break;case 2:int h;printf(“输入删除工号:“);scanf(“%d“,del(h);/按工号,删除职工信息printf(“enter 返回n“);getch();system(“cls“);break;case 3:int g;printf(“输入查找工号:“);scanf(“%d“,find(g);/按工号查找职工信息printf(“enter 返回n“);getch();system(“cls“);break;case 4:dispall();/输出全部职工信息printf(“enter 返回n“);getch();system(“cls“);break;while(k!=0);void main()/ main 主函数menu();/调用显示菜单