文档介绍:1、设计目的学生信息包括:学号,姓名,性别,地址,电话等。试设计一学生信息管理系统,使之能提供以下功能:系统以菜单方式工作学生信息录入功能(学生信息用文件保存)---输入学生信息浏览功能---输出查询功能---算法按学号查询按姓名查询学生信息的删除与修改(可选项)2、总体设计(程序设计组成框图、流程图)下面列出主要函数的流程图:1c=0breakc=3c=6c=4c=5c=2c=1breakdel(head)break;Print(head)head=creat()insert(head)breakbreakbreaksearchnum(head);breaksearch(head);NYYYYYYYNNNNNNNMain函数Creat函数:Print函数:Searchnum函数:Searchname函数:3、详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)#include<>#include<>#include<>#defineLENsizeof(structstudent)structstudent{ longnumber; charname[20]; charsex[10]; charaddress[100]; chartelnumber[100]; structstudent*next;};intn;structstudent*creat()//建立链表{ structstudent*head; structstudent*p1,*p2; n=0; p1=p2=(structstudent*)malloc(LEN); printf("Pleaseenternumber,name,sex,adrressandtelnumber:\n"); scanf("%ld%s%s%s%s",&p1->number,p1->name,p1->sex,p1->address,p1->telnumber); head=NULL; while(p1->number!=0) { n++; if(n==1)head=p1; elsep2->next=p1; p2=p1; p1=(structstudent*)malloc(LEN); printf("Pleaseenternumber,name,sex,adrressandtelnumber:\n"); scanf("%ld%s%s%s%s",&p1->number,p1->name,p1->sex,p1->address,p1->telnumber); } p2->next=NULL; return(head);}voidprint(structstudent*head)//输出链表{ structstudent*p; printf("number\tname\tsex\tsddress\ttelnumber\n"); p=head; if(head!=NULL) do { printf("%ld\t%s\t%s\t%s\t\t%s\n",p->number,p->name, p->sex,p->address,p->telnumber); p=p->next; }while(p!=NULL);}//删除链表structstudent*del(structstudent*head,longnum){ structstudent*p1,*p2; if(head==NULL) { printf("\nlistnull!\n"); gotoend; } p1=head; while(num!=p1->number&&p1->next!=NULL) { p2=p1; p1=p1->next; } if(num==p1->number) { if(p1==head) head=p1->next; else p2->next=p1->next; printf("delete:%ld\n",num); n=n-1; } else printf("%ldnotbeenfound!\n",num);end:return(head);}//插入链表structstudent*insert(structstudent*head,structstudent*stud){ structstudent*p0,*p1,*p2;p1=head; p0=stud; if(head==NULL) { head=p0; p0->next=NULL; } else { while((p0->number>p1->number)&&(p1->next!=NULL)) { p2=p1; p1=p1->next; } if(p0->number<=p1->numbe