图书馆管理系统045072班王磊第三部分13题一、题目要求图书馆管理系统包括:图书名称、图书编号、单价、作者、存在状态,借书人姓名、性别、学号等,此外设计的系统须具有如下功能:1.新进图书及基本信息输入2.图书基本信息查询3.对撤销图书信息的删除4.办理借书手续5.办理书手续二、需求分析根据题目要求,需建立图书管理系统结构体,结构体中应包括图书名称,图书编号,单价、作者、存在状态,借书人姓名,性别、学号等。其中存在状态设定为整形变量,可用不同的数字来表达,在该系统中用〝1〝来表示可借出,〝0〝来表示已借出。图书信息应存放在文件中,所以提供文件的输入输出等操作;并且程序需具有实现图书信息浏览,查找、修改等功能,并进行借出借入服务;另外还应提供键盘是选择菜单来实现功能选择。三、总体设计结合上述分析该系统应包括以下模块:信息输入、图书查找、信息删除,图书借出、图书归还。结构图如下四、详细设计1、主函数主函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。[流程图][程序]main(){intn,t;显示一系列功能选项输入n,判断n是否1—9根据的值调用个功能模块的函数图书馆管理系统信息输入图书查找信息删除图书借出图书归还/*变量保存选择菜单数字,判断输入的数字是否在功能人能够菜单所对应的数字范围内*/do{puts("\t\t\t***欢迎使用图书馆管理系统***\n\n\n");puts("\t\t\t*************MENU************\n\n");puts("\t\t\t1.图书信息输入\n");puts("\t\t\t2.新图书信息录入\n");puts("\t\t\t3.图书信息浏览\n");puts("\t\t\t4.图书信息查找\n");puts("\t\t\t5.图书信息修改\n");puts("\t\t\t6.图书信息删除\n");puts("\t\t\t7.图书借阅\n");puts("\t\t\t8.图书归还\n");puts("\t\t\t9.退出系统\n");puts("\t\t\t\n\n\n*****************************\n\n");/*对功能选项的显示*/printf("选择使用功能种类(1--9)[]\b\b");scanf("%d",&n);if(n<1||n>9){t=1;getchar();}/*对选择的数字作判断*/elset=0;}while(t==1);/*实现选择功能*/switch(n){case1:enter();break;/*输入功能*/case2:add();break;/*追加功能*/case3:browse();break;/*浏览功能*/case4:search();break;/*查找功能*/case5:modify();break;/*修改功能*/case6:del();break;/*删除功能*/case7:TSXX_out();break;/*图书借出*/case8:TSXX_back();break;/*归还功能*/case9:exit(0);break;/*退出*/}}/*以上完成了主函数计主菜单的构成*/2输入模块[数据结构]根据题目中对数据结构的要求每一本图书包含的信息利用一个结构体来存放。其中结构体需包含:字符变量:图书名称、作者、借书人姓名实型变量:图书编号、单价、学号整型变量:存在状态,、性别、库存定义结构体如下structTSXX{chartsn[30];/*图书名称*/intbh[15];/*图书编号*/floatpri;/*单价*/charzzn[10];/*作者*/intzt;/*存在状态*/intkc/*库存*/charjsn[10];/*借书人姓名*/intsex;/*性别*/intnum[15];/*学号*/}ts[N];/*ts[N]中每个数组元素对应一本书的全部信息*//*以上完成了对于结构体的定义*/[注意]本程序ts[N]中的个数,采取宏定义的方式,可以随时在源程序宏定义中更改,本程序在此宏定义#defineN10000。[流程图]Y[程序]voidenter(){inti;for(i=0;in;i<=k;i++)input(i);if(fp=fopen(〝ts.txt〝,〝a〝)==NULL){printf(〝文件无法打开\n〝);}for(i>n;i<=k;i++)fclose(fp);printf_back();}4.查找模块[需求分析]该模块的功能是...