资源描述:
《基于链表的教师信息管理系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#include#include#includestructteacher/*定义结构体类型*/{longintSFZH;charname[20];floatBIRTH;charJIGUAN[20];charXUELI[20];floatmoney;floatyear;charcourse[20];structteacher*next;};structteacher*jianli();voidshuchu(stru
2、ctteacher*head);structteacher*charu(structteacher*head);structteacher*shanchu(structteacher*head);voidsave(structteacher*head);structteacher*head=NULL;voidmain()/*主函数*/{intselect;do{printf("1:建立链表");/*主控函数*/printf("2:输出链表");printf("3:插入节点");printf("4:
3、删除节点");printf("5:储存信息");printf("0:退出系统");printf("请选择(0~5):");scanf("%d",&select);printf("");switch(select){case1:head=jianli();break;case2:shuchu(head);break;case3:head=charu(head);break;case4:head=shanchu(head);break;case5:save(head);break;case0:
4、break;default:printf("只能选择0~5,重新输入!");}}while(select!=0);}structteacher*jianli()/*创建链表,并返回表头指针*/{structteacher*head;/*表头*/structteacher*p1;/*新建节点*/structteacher*p2;/*表尾节点*/longintSFZH1;charname1[20];floatBIRTH1;charJIGUAN1[20];charXUELI1[20];floatmoney1;f
5、loatyear1;charcourse1[20];head=NULL;/*还没有任何节点,表头指向空*/printf("请输入第一个老师的身份证号、姓名、出生日期、籍贯、学历、工资、工作年限、所带课程,用空格分隔:");scanf("%ld%s%f%s%s%f%f%s",&SFZH1,name1,&BIRTH1,JIGUAN1,XUELI1,&money1,&year1,course1);/*读入第一个老师数据*/while(SFZH1!=-1)/*假设SFZH=-1表示输入结束*/{p1=(struc
6、tteacher*)malloc(sizeof(structteacher));/*新建一个节点*/p1->SFZH=SFZH1;/*将身份证号存入SFZH域*/strcpy(p1->name,name1);/*将姓名存入name域*/strcpy(p1->course,course1);/*将所带课程存入course域*/strcpy(p1->JIGUAN,JIGUAN1);/*将籍贯存入JIGUAN域*/strcpy(p1->XUELI,XUELI1);/*将学历存入XUELI域*/p1->BIRTH=B
7、IRTH1;/*将出生日期存入BIRTH域*/p1->money=money1;/*将工资存入money域*/p1->year=year1;/*将工作年限存入year域*/p1->next=NULL;/*将next域置为空,表示尾节点*/if(head==NULL)head=p1;/*第一个新建节点是表头*/elsep2->next=p1;/*原表尾的下一个节点是新建节点*/p2=p1;/*新建节点成为表尾*/printf("%请输入老师的身份证号、姓名、出生日期、籍贯、学历、工资、工作年限、所带课程,用空格
8、分隔:");scanf("%ld%s%f%s%s%f%f%s",&SFZH1,name1,&BIRTH1,JIGUAN1,XUELI1,&money1,&year1,course1);/*读入下一个教师数据*/}returnhead;/*返回表头指针*/}voidshuchu(structteacher*head){structteacher*p;intn=0;if(head!=NULL){pr