还剩3页未读,继续阅读
文本内容:
#includestdio.h #include__lloc.h #includestdlib.h #includestring.h #define NULL 0 #define LEN sizeofstruct student struct student { char num
[20]; char name
[10]; char age
[5]; char tel
[20]; char adress
[50]; char e__il
[20]; struct student *next; }; int n; struct student *creatvoid { char string[]={结束}; struct student *head; struct student *p1*p2; n=0; p1=p2=struct student *__llocLEN; printf请输入编号\n; scanf%sp1-num; printf请输入姓名\n; scanf%sp1-name; printf请输入年龄\n; scanf%sp1-age; printf请输入__号码\n; scanf%sp1-tel; printf请输入通讯地址\n; scanf%sp1-adress; printf请输入____\n; scanf%sp1-e__il; head=NULL; whilestrcmpp1-numstring!=0 { n=n+1; ifn==1 head=p1; else p2-next=p1; p2=p1; p1=struct student *__llocLEN; printf请输入编号\n; scanf%sp1-num; printf请输入姓名\n; scanf%sp1-name; printf请输入年龄\n; scanf%sp1-age; printf请输入__号码\n; scanf%sp1-tel; printf请输入通讯地址\n; scanf%sp1-adress; printf请输入____\n; scanf%sp1-e__il; } p2-next=NULL; returnhead; } struct student *del struct student *head char num
[20] { struct student *p1*p2; ifhead==NULL {printf\n list null!\n;return head;} p1=head; whilestrcmpp1-numnum!=0p1-next!=NULL { p2=p1;p1=p1-next; } ifstrcmpp1-numnum==0 { ifp1==head head=p1-next; else p2-next=p1-next; n=n-1; } else printf%s not been found!\nnum; return head; } struct student *insertstruct student *headstruct student *stud { struct student *p0*p1*p2; p0=p1=p2=struct student *__llocLEN; p1=head; p0=stud; ifhead==NULL {head=p0;p0-next=NULL;} else {whilep0-nump1-nump1-next!=NULL {p2=p1;p1=p1-next;} ifp0-num=p1-num { ifhead==p1 head=p0; else p2-next=p0; p0-next=p1; } else {p1-next=p0;p0-next=NULL;} } n=n+1; returnhead; } struct student *namesearchstruct student *head { struct student *p; p=struct student *__llocLEN; char name
[10]; p=head; printf请输入姓名\n; scanf%sname; whilep!=NULLstrcmpp-namename!=0 p=p-next; printf编号 姓名 年龄 __号码 通讯地址 ____\n; printf%s %s %s %s %s %s\np-nump-namep-agep-telp-adressp-e__il; returnhead; } struct student *numsearch struct student *head { struct student *p; p=struct student *__llocLEN; char num
[20]; p=head; printf请输入编号\n; scanf%snum; whilep!=NULLstrcmpp-numnum!=0 p=p-next; printf编号 姓名 年龄 __号码 通讯地址 ____\n; printf%s %s %s %s %s %s\np-nump-namep-agep-telp-adressp-e__il; returnhead; } struct student *messagechange struct student *head { struct student *p; p=struct student *__llocLEN; char name
[10]; p=head; printf请输入姓名\n; scanf%sname; whilep!=NULLstrcmpp-namename!=0 p=p-next; printf请输入编号\n; scanf%sp-num; printf请输入姓名\n; scanf%sp-name; printf请输入年龄\n; scanf%sp-age; printf请输入__号码\n; scanf%sp-tel; printf请输入通讯地址\n; scanf%sp-adress; printf请输入____\n; scanf%sp-e__il; returnhead; } void printstruct student*head { struct student *p; p=head; printf编号 姓名 年龄 __ 通讯地址 ____\n; ifhead!=NULL do { printf%s %s %s %s %s %s\np-nump-namep-agep-telp-adressp-e__il; p=p-next; } whilep!=NULL; } void s__estruct student *head { FILE *fp; int in=0; struct student *p; iffp=fopenstu_listwb==NULL { printf\n\t\t打开文件失败!!!\n; return; } p=head-next; ifp!=NULL { while p!=NULL { p=p-next; n++; } fprintffp%dn; fprintffp\r\n; p=head-next; fori=0;in;i++ { fprintffp\n\t\t%s%s%s%s%s%sp-nump-namep-agep-telp-adressp-e__il; fprintffp\t\t\r\n; p=p-next; } } else printfPlease __ke sure the data is not NULL!!; fclosefp; printf\n\t\t存盘成功!!!\n; } void quitvoid { exit0; } void __in { struct student *head*stud; int flage=1; for;flage==1; { int ch; printf\n\t\t通讯录系统:\n; printf\t\t=================================\n; printf\t\t 输入记录-----------------0\n; printf\t\t 显示所有记录-------------1\n; printf\t\t 按编号查询记录-----------2\n; printf\t\t 按姓名查询记录-----------3\n; printf\t\t 添加信息-----------4\n; printf\t\t 修改记录-------------5\n; printf\t\t 删除记录-----------------6\n; printf\t\t 存盘---------------------7\n; printf\t\t 退出---------------------8\n; printf\t\t=================================\n; printf\t\t请输入数字0~8:; scanf%dch; switchch { case 0:head=creat; printf是否继续;1/0\n; scanf%dflage;break; case 1:print head;break; case 2:head=numsearchhead; printf是否继续;1/0\n; scanf%dflage;break; case 3:head=namesearchhead; printf是否继续;1/0\n; scanf%dflage;break; case 4:stud=struct student * __llocLEN; head=insertheadstud; printf请输入编号\n; scanf%sstud-num; printf请输入姓名\n; scanf%sstud-name; printf请输入年龄\n; scanf%sstud-age; printf请输入__号码\n; scanf%sstud-tel; printf请输入通讯地址\n; scanf%sstud-adress; printf请输入____\n; scanf%sstud-e__il; printf是否继续;1/0\n; scanf%dflage;break; case 5: head=messagechangehead; printf是否继续;1/0\n; scanf%dflage;break; case 6:char num
[20]; printf请输入编号\n; scanf%snum; head=delheadnum; printf是否继续;1/0\n; scanf%dflage;break; case 7:s__ehead;break; case 8:quit;break; default:printf\n\t\t警告!输入错误,请输入数字0-8!; } } }。