1#includestdio.h#includestdlib.h#includeconio.h#includestring.h#includemath.h#defineLENsizeof(structlibrary)#defineLEN1sizeof(structreader)#defineNULL0structlibrary//德州学院图书馆结构体{intshuhao,xcl;charname[20],author[20],chuban[20];structlibrary*next;};structreader//学生结构体{intzhenghao;charmingzi[20],riqi[20],zname[20];structreader*next;};voidmainmenu()//显示主菜单{system(cls);printf(********************************************************************************);printf(请您选择选项:\n);printf(\t\t\t德州学院图书馆系统\n);printf(\n);printf(\t\t\t1.德州学院图书馆图书信息\n\n);printf(\t\t\t2.图书借阅系统\n\n);printf(\t\t\t3.退出系统\n\n);printf(\t\t\t请您按键选择,回车确定\n);printf(********************************************************************************);return;}voidmenu1()//显示图书馆信息菜单{system(cls);printf(********************************************************************************);2printf(请你选择需要的操作:\n);printf(\t\t\t\t1.输入图书信息\n\n);printf(\t\t\t\t2.清除图书信息\n\n);printf(\t\t\t\t3.查询图书\n\n);printf(\t\t\t\t4.查询全部图书信息\n\n);printf(\t\t\t\t5.返回上一页\n\n);printf(\t\t\t请您选择,回车确定\n);printf(********************************************************************************);return;}voidmenu2()//显示查询菜单{system(cls);printf(********************************************************************************);printf(请你选择查询类别:\n);printf(\t\t\t\t1.图书书号查询\n\n);printf(\t\t\t\t2.图书书名查询\n\n);printf(\t\t\t\t3.图书作者查询\n\n);printf(\t\t\t\t4.图书出版社查询\n\n);printf(\t\t\t请您选择,回车确定\n);printf(********************************************************************************);return;}voidmain()//主函数,调用main1{voidmain1();main1();}voidmain1()//main1函数{voidtsgxx();//声明voidjieshuxitong();//声明charchoose;mainmenu();scanf(%c,&choose);switch(choose)//功能函数选择{case'1':tsgxx();break;case'2':jieshuxitong();break;case'3':system(cls);printf(\n\n\n\n\n\n\n\n\n\t\t\tByebye...);printf(\n\n\n\n\n\n\n\n\n\t\t\t欢迎使用本软件!!!);getch();exit(0);system(cls);break;3}}voidtsgxx()//图书馆信息函数{voidtsjinku();voidshanchu();voidchaxunts();voidxianshikucun();//函数声明charchoose;menu1();//调用菜单函数scanf(%c,&choose);scanf(%c,&choose);for(;;)switch(choose)//功能函数选择{case'1':tsjinku();break;case'2':shanchu();break;case'3':chaxunts();break;case'4':xianshikucun();break;case'5':main1();break;}}inttjzs()//统计文本个数函数{FILE*fp;inttshuhao=0,txcl=0,n;chartname[20]={'\0'},tauthor[20]={'\0'},tchuban[20]={'\0'};fp=fopen(library.txt,r);//打开文件for(n=0;!feof(fp);n++)//逐个读文件fscanf(fp,%d%s%s%s%d,&tshuhao,tname,tauthor,tchuban,&txcl);n--;fclose(fp);//关闭文件return(n);//返回个数}inttjdzzs()//统计文本个数函数{FILE*fp;intzhenghao=0,n;charmingzi[20]={'\0'},riqi[20]={'\0'},zname[20]={'\0'};fp=fopen(reader.txt,r);//打开文4件for(n=0;!feof(fp);n++)//逐个读文件fscanf(fp,%d%s%s%s,&zhenghao,&mingzi,&riqi,&zname);fclose(fp);//关闭文件return(n);//返回个数}voidtsjinku()//图书进库函数{FILE*fp;intshuhao=0,xcl=0,n=0;charname[20]={'\0'},author[20]={'\0'},chuban[20]={'\0'};charhitkey;system(cls);if((fp=fopen(library.txt,r))==NULL)//打开图书馆文件,不存在此文件则新建{fp=fopen(library.txt,w);fclose(fp);}fp=fopen(library.txt,a);printf(\n\n\n\n\n\n\t\t\t请按以下格式输入图书信息:\t\t\t\t\t\t书号书名作者出版社进库量\n请输入:);//按格式输入图书馆信息for(;hitkey!=27;)//循环输入{if(n!=0)printf(请输入:);scanf(%d%s%s%s%d,&shuhao,name,author,chuban,&xcl);fprintf(fp,%d%s%s%s%d\n,shuhao,name,author,chuban,xcl);printf(继续输入请按回车,结束输入请按esc\n);n++;hitkey=getch();for(;hitkey!=13&&hitkey!=27;)hitkey=getch();}fclose(fp);printf(\n\n\n\n\n\n\t\t\t保存成功,按任意键返回上一层!);getch();tsgxx();//返回上一层}5voidshanchu()//删除图书信息函数{structlibrary*head=NULL;structlibrary*p,*p1,*p2;inttshuhao=0,txcl=0,n=0,j,i;chartname[20]={'\0'},tauthor[20]={'\0'},tchuban[20]={'\0'},ttname[20]={'\0'};charhitkey;FILE*fp;if((fp=fopen(library.txt,r))==NULL)//打开文件{system(cls);printf(\n\n\n\n\n\n\n\n\n\t\t\t记录文件不存在!按任意键返回...);getch();tsgxx();}else{system(cls);printf(\n\n\n\n\n\n\n\n\t\t请输入你要删除的书名:);//输入删除图书书名scanf(%s,&ttname);printf(\t\t确认删除请按回车,取消请按esc\n);hitkey=getch();for(;hitkey!=13&&hitkey!=27;)hitkey=getch();if(hitkey==27)tsgxx();fp=fopen(library.txt,r);for(j=0;!feof(fp);)//读文件夹信息,统计个数{j++;fscanf(fp,%d%s%s%s%d,&tshuhao,tname,tauthor,tchuban,&txcl);}fclose(fp);fp=fopen(library.txt,r);for(i=1;ij;i++){fscanf(fp,%d%s%s%s%d,&tshuhao,tname,tauthor,tchuban,&txcl);if(strcmp(ttname,tname))//比较名字,将不同名字的信息复制到链表{n++;if(n==1)//建立链表{p1=p2=(structlibrary*)malloc(LEN);head=p1;}else{p2-next=p1;6p2=p1;p1=(structlibrary*)malloc(LEN);//新建链表}p1-shuhao=tshuhao;//复制书号strcpy(p1-name,tname);//复制书名strcpy(p1-author,tauthor);//复制作者名子strcpy(p1-chuban,tchuban);//复制出版社p1-xcl=txcl;//复制个数}}if(n==0){head=NULL;}else{p2-next=p1;p1-next=NULL;fclose(fp);}}fp=fopen(library.txt,w);//清空文件fclose(fp);fp=fopen(library.txt,a);//追加文件p=head;for(;p!=NULL;)//把链表内容覆盖到文件{fprintf(fp,%d%s%s%s%d\n,p-shuhao,p-name,p-author,p-chuban,p-xcl);p=p-next;}fclose(fp);//关闭文件system(cls);printf(\n\n\n\n\n\n\n\n\t\t删除成功\n\t\t按任意键返回上一层\n);getch();//返回上一层tsgxx();}voidchaxunts()//查询函数{FILE*fp;charchoose;7intttshuhao=0,tshuhao=0,txcl=0,n=0,k=0,i,l;chartname[20]={'\0'},ttauthor[20]={'\0'},tauthor[20]={'\0'},ttchuban[20]={'\0'},tchuban[20]={'\0'},ttname[20]={'\0'};if((fp=fopen(library.txt,r))==NULL)