#includestdio.h#includestdlib.h#includeconio.h#includewindows.h#includestring.h#defineLENsizeof(structstudent)#defineDAT_FILENAMEInformation.txt/**********************定义数据结构********************/structdate{intyear;intmonth;intday;};structstudent{intID;charName[8];intage;charxb;chartelephone[15];charaddress[40];structdatebirthday;charemail[40];structstudent*next;};/*************************函数原型*********************/voidDispMainMenu();voidDisplayInformation(structstudent*head);structstudent*FindstudentID(structstudent*head,intfindID);structstudent*FindstudentName(structstudent*head,charfindname[]);structstudent*InformationInput(structstudent*head);voidQueryInformation(structstudent*head);structstudent*EditInformation(structstudent*head);structstudent*Insert(structstudent*head,structstudent*p);voidSave(structstudent*head);structstudent*Read(structstudent*head);structstudent*Delete(structstudent*head,intfindID);structstudent*Add(structstudent*head);voidHelp();/************************显示主菜单***************************/voidDispMainMenu(){printf(*********************************学生信息管理系统******************************\n);printf(\n);printf(\t\t\t\t1--信息录入\n);printf(\n);printf(\t\t\t\t2--信息修改\n);printf(\n);printf(\t\t\t\t3--信息查询\n);printf(\n);printf(\t\t\t\t4--保存数据到文件\n);printf(\n);printf(\t\t\t\t5--打开数据文件\n);printf(\n);printf(\t\t\t\t6--文件追加\n);printf(\n);printf(\t\t\t\t7--帮助\n);printf(\n);printf(\t\t\t\t0--退出\n);printf(\n);printf(友情提示:初次使用请先阅读帮助\n);printf(*******************************************************************************\n);printf(请选择(0-7):);/*显示主菜单*/}/*************************************帮助**************************************************/voidHelp(){printf(\n\t\t\t欢迎进入帮助系统!\n\n);printf(\t1.请按照主菜单提示选择所需执行功能的数字代号!\n);printf(\t2.所有文件请按照规范输入\n);printf(\t3.刚开始执行程序时若需要文本文件里的数据,请先进行读取文件信息!\n);printf(\t4.修改信息以后,请切记需要保存!\n);printf(\n);}/***********************显示所有学生信息**********************/voidDisplayInformation(structstudent*head){structstudent*p;printf(*******************************************************************************);printf(\n学号\t姓名\t年龄\t性别\t电话\t\t地址\t出生年月\temail\n);p=(structstudent*)malloc(LEN);p=head;if(head!=NULL)while(p!=NULL){printf(%-d\t%-s\t%-d\t,p-ID,p-Name,p-age);printf(%-c\t%-s\t%-s\t,p-xb,p-telephone,p-address);printf(%-d%d%d,p-birthday.year,p-birthday.month,p-birthday.day);printf(\t%-s\n,p-email);p=p-next;}elseprintf(无数据\n);}/**************************查找指定学号的学生信息******************************/structstudent*FindstudentID(structstudent*head,intfindID){structstudent*p;p=(structstudent*)malloc(LEN);p=head;if(head!=NULL)while(p!=NULL){if(p-ID==findID)break;p=p-next;}elseprintf(无数据\n);returnp;}/***************************查找指定姓名的学生信息**********************/structstudent*FindstudentName(structstudent*head,charfindname[]){structstudent*p;p=(structstudent*)malloc(LEN);p=head;if(head!=NULL)while(p!=NULL){if(strcmp(p-Name,findname)==0)break;p=p-next;}elseprintf(无数据\n);returnp;}/********************学生信息录入**********************************/structstudent*InformationInput(structstudent*head){intnumber,i;structstudent*p;p=(structstudent*)malloc(LEN);printf(\n请输入本次录入的学生人数:);scanf(%d,&number);for(i=0;inumber;i++)/*输入number个学生的信息*/{printf(请输入第%d个学生的学号(八个字符以内):,i+1);scanf(%d,&p-ID);printf(\t\t\t姓名:\t);scanf(%s,p-Name);printf(\t\t\t年龄:\t);scanf(%d,&p-age);printf(\t\t\t性别(男M、女W):);scanf(%s,&p-xb);printf(\t\t\t电话(八位):\t);scanf(%s,p-telephone);printf(\t\t\t地址:\t);scanf(%s,p-address);printf(\t\t\t出生年月:\t);scanf(%d%d%d,&p-birthday.year,&p-birthday.month,&p-birthday.day);printf(\t\t\temail:\t);scanf(%s,p-email);head=Insert(head,p);p=(structstudent*)malloc(LEN);}printf(\n您的输入信息是:\n);DisplayInformation(head);return(head);}/**************************学生信息查询*************************/voidQueryInformation(structstudent*head){charselect;intfindID;charfindname[8];structstudent*p;printf(*********************请选择查询方式*************************\n);printf(\t1--按学号查询;\t2--按姓名查询\n);printf(************************************************************\n);printf(请选择(1-2):);/*显示菜单信息*/select=getche();getch();switch(select){case'1':printf(\n按学号查询\n请输入学生的学号:);scanf(%d,&findID);if((p=FindstudentID(head,findID))!=NULL)/*找到指定学号的学生*/{printf(\n查找结果如下:\n);printf(\n学号\t姓名\t年龄\t性别\t电话\t\t地址\t出生年月\temail\n);printf(%d\t%s\t%d\t,p-ID,p-Name,p-age);printf(%c\t%s\t%s\t,p-xb,p-telephone,p-address);printf(%d%d%d,p-birthday.year,p-birthday.month,p-birthday.day);printf(\t%s\n,p-email);}else/*没有找到*/printf(您输入的学号不存在!\n);break;case'2':printf(\n按姓名查询\n请输入学生的姓名:);scanf(%s,&findname);if((p=FindstudentName(head,findname))!=NULL)/*找到指定姓名的学生*/{printf(\n查找结果如下:\n);printf(\n学号\t姓名\t年龄\t性别\t电话\t地址\t出生年月\temail\n);printf(%d\t%s\t%d\t,p-ID,p-Name,p-age);printf(%c\t%s\t%s\t,p-xb,p-telephone,p-address);printf(%d%d%d,p-birthday.year,p-birthday.month,p-birthday.day);printf(\t%s\n,p-email);}else/*没有找到*/printf(您输入的姓名不存在!\n);break;default:printf(选择错误!\n);}}/*********************************修改学生信息***********************/