图书馆管理系统-c语言.doc

上传人:F****n 文档编号:101938074 上传时间:2019-09-30 格式:DOC 页数:23 大小:388.50KB
返回 下载 相关 举报
图书馆管理系统-c语言.doc_第1页
第1页 / 共23页
图书馆管理系统-c语言.doc_第2页
第2页 / 共23页
图书馆管理系统-c语言.doc_第3页
第3页 / 共23页
图书馆管理系统-c语言.doc_第4页
第4页 / 共23页
图书馆管理系统-c语言.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《图书馆管理系统-c语言.doc》由会员分享,可在线阅读,更多相关《图书馆管理系统-c语言.doc(23页珍藏版)》请在金锄头文库上搜索。

1、图书馆管理系统班 王磊第三部分13题一、 题目要求 图书馆管理系统包括:图书名称、图书编号、单价、作者、存在状态,借书人姓名、性别、学号等,此外设计的系统须具有如下功能:1 新进图书及基本信息输入2 图书基本信息查询3 对撤销图书信息的删除4 办理借书手续5 办理书手续二、 需求分析 根据题目要求,需建立图书管理系统结构体,结构体中应包括图书名称,图书编号,单价、作者、存在状态,借书人姓名,性别、学号等。其中存在状态设定为整形变量,可用不同的数字来表达,在该系统中用1来表示可借出,0来表示已借出。 图书信息应存放在文件中,所以提供文件的输入输出等操作;并且程序需具有实现图书信息浏览,查找、修改

2、等功能,并进行借出借入服务;另外还应提供键盘是选择菜单来实现功能选择。三、 总体设计结合上述分析该系统应包括以下模块:信息输入、图书查找、信息删除,图书借出、图书归还。结构图如下图书馆管理系统信息输入图书查找信息删除图书借出图书归还四、 详细设计 1、 主函数主函数要求设计比较简洁,只提供设输入,处理和输出部分的函数调用。其中各功能模块用菜单方式选择。 流程图显示一系列功能选项输入n ,判断n 是否19根据的值调用个功能模块的函数程序main()int n,t;/*变量保存选择菜单数字,判断输入的数字是否在功能人能够菜单所对应的数字范围内*/do puts(ttt*欢迎使用图书馆管理系统*nn

3、n); puts(ttt*MENU*nn); puts(ttt1. 图书信息输入n); puts(ttt2. 新图书信息录入n); puts(ttt3. 图书信息浏览n); puts(ttt4. 图书信息查找n); puts(ttt5. 图书信息修改n); puts(ttt6. 图书信息删除n); puts(ttt7. 图书借阅n); puts(ttt8. 图书归还n); puts(ttt9. 退出系统n); puts(tttnnn*nn);/*对功能选项的显示*/printf(选择使用功能种类(1-9) bb); scanf(%d,&n); if(n9) t=1;getchar(); /*对

4、选择的数字作判断*/ else t=0; while(t=1);/*实现选择功能*/ switch(n) case 1:enter();break; /*输入功能*/ case 2:add();break; /*追加功能*/case 3:browse();break; /*浏览功能*/ case 4:search();break; /*查找功能*/ case 5:modify();break; /*修改功能*/ case 6:del();break; /*删除功能*/case 7:TSXX_out();break; /*图书借出*/case 8:TSXX_back();break; /*归还功

5、能*/case 9:exit(0);break; /*退出*/ /*以上完成了主函数计主菜单的构成*/2输入模块 数据结构 根据题目中对数据结构的要求每一本图书包含的信息 利用一个结构体来存放。其中结构体需包含 :字符变量:图书名称、作者、借书人姓名实型变量:图书编号、单价、学号整型变量:存在状态,、性别、库存定义结构体如下struct TSXXchar tsn30; /*图书名称*/ int bh15; /*图书编号*/ float pri; /*单价*/char zzn10; /*作者*/ int zt; /*存在状态*/int kc /*库存*/ char jsn10; /*借书人姓名*

6、/int sex; /*性别*/int num15; /*学号*/ tsN; /*tsN中每个数组元素对应一本书的全部信息*/*以上完成了对于结构体的定义*/注意 本程序tsN中的个数,采取宏定义的方式,可以随时在源程序宏定义中更改,本程序在此宏定义#define N 10000。流程图显示图书信息输入操作提示 i从0到N-1 调用输入函数input(i)i!=0 Y保存调用函数 save(n) 程序void enter()int i;for(i=0;in;in;i=k;i+) fclose(fp);printf_back();4.查找模块需求分析该模块的功能是根据输入的图书名称查找相应的记录

7、找到以后,可继续进行删除和修改功能流程图输入查询图书名称 是否有该图书记录 YN显示找到的记录提示没有找到询问用户是否继续查找N Y返回主菜单让用户选择1)查找另一个2)修改 3)删除 4)返回主菜单 程序 Search()int i,k,n,t1=1,t2,t3,t4;struct TSXX t;n=load();do do k=-1;printf(nn输入你所要查询的图书名称: );scanf(%s,t.tsn);print_show()for(i=0;in;i+;) if(strcmp(t.tsn,tsi.tsn)=0) k=i; printf_one();break; if(k=-1)

8、 printf(对不起,您所查找的图书不存在 ); printf(继续吗?nt 1).继续查找 2)不,返回 请选择 bb); scanf(%d,&t1);while(k=-1&wi=1);t4=0;t3=0;if(k!=-1)printf(nn您的下一步操作?nn 1)查找下一个 2 修改图书信息 3) 删除图书信息 4)回到主菜单 请选择 bb); scanf(%d ,&t2);switch(t2)case 2:w3=modify_data(k,n);break;case 3:print(nn你确定吗?nt 1)确定删除 2不,返回 请选择 bb); scanf(%d,&t4);if(t4

9、=1) tsk.num=0;break;if(t3=1|t4=1)save(n);printf(nn信息修改成功);printf(n您的下一步操作?nt 1)查找下一个 2)返回 请选择 bb);scanf(%d,&t2); while(t3=1);mneu();5、修改模块需求分析 该模块用于显示所有图书信息,由于记录较多,故而采取分屏显示。显示完所有纪录后,用户需输入图书编号进而查找图书信息流程图显示所有记录,确定哪个需要修改输入粗修改图书的编号 是否找到该图书记录YN 显示查找到的记录调用修改函数提示没有找到显示查找到的记录调用修改函数询问是否继续修改返回主菜单YN程序 void modi

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号