图书馆管理系统程序的设计方案.docx

上传人:h**** 文档编号:26814258 上传时间:2022-07-19 格式:DOCX 页数:8 大小:13.98KB
返回 下载 相关 举报
图书馆管理系统程序的设计方案.docx_第1页
第1页 / 共8页
图书馆管理系统程序的设计方案.docx_第2页
第2页 / 共8页
点击查看更多>>
资源描述

《图书馆管理系统程序的设计方案.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统程序的设计方案.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、图书馆管理系统程序的设计方案 图书馆管理系统程序设计方案 . 系统分析 2.1 数据需求 本系统主要是某图书馆的图书信息简单管理的系统。 需要向系统输入图书的信息,例如:图书名、编号、作者、图书类别、图书定价、图书简介。 2.2功能需求 本系统需要有添加,删除,查询,修改,循环显示主菜单,保存信息功能,读取信息,可以按书名实现模糊查询,可以按类别统计图书数量,可以统计图书总数。 2.3 性能需求 在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统稳定性好,安全,可靠。 3. 总体设计 3.1功能模块设计 根据分析整个系统主要划分为8个功能模块,分别执行要求中的功能。该系统需要有删

2、除,修改,添加,查询,保存信息功能,按类图书别统计,统计总数,模糊查询。 功能模块如图1所示。 图1功能模块图 (1)添加图书信息模块 添加图书基本信息:图书编号、图书名、作者、图书类别、图书定价、图书简介。 (2) 修改图书信息模块 对会图书部信息的修改,修改图书的基本信息:图书名、图书编号、作者、图书类别、图书定价、图书简介。 (3)查询图书信息模块 对图书部信息的查询包括通过书名查询和按类别查询。查询的结果显示为图书名、图书编号、作者、图书类别、图书定价、图书简介。 (4)删除图书信息模块 可以删除图书的所有基本信息。 (5) 按类别统计模块 可将图书按类别统计其图书个数。 (6) 统计

3、总数模块 对图书总数进行统计。 (7) 图示借阅模块 可实现对图书的借阅,需输入学生信息。 (8) 图书归还模块 归还图书,增加图书的现存量。 (9) 读取模块 读取储存的图书基本信息。 3.2系统设计方案 (1) 菜单 设计一个总菜单,1添加图书信息,2根据书名查找图书,3修改图书信息,4删除图书信息,5 图书归还,6图书总数统计,7图书借阅,8储存,9按类别查询图书,10读取图书信息,基本功能的实现都将体现在菜单选项中。 (2) 数据结构 建立结构体如下: struct book long digit;/图书编号 char name50;/书名 char author20;/作者 char

4、 gategory20;/图书类别 char phouse20;/ long price;/定价 char synopsis20;/图书简介 struct book *next;/struct book 类型的结构体成员 *head; /定义一个指向结构体的指针 根据模块需要本系统需要用到链表结构。 (3) 函数 定义了12个函数,都实现以下功能: void menu();/主菜单 void print();/输出 void creat();/创建 void search_name()/按查询; void search gategory ();/按类别查询 void modify();/修改

5、void del();/删除 void l();/按类别统计 void w();/统计总数 void MH(struct book *p,char a)/;模糊查询void save();/储存 void read()/读取 4. 详细设计和实现 4.1创建模块 创建模块:分为2个部分1输出、2创建。 (1)输出部分流程图:如图2所示。 图2输出流程图 输出部分创建一个结构体struct book结构体有成员7个:编号,名字,作者,类别,价格简介。输出程序流程如图2所示。 (2)创建部分如图3所示。 图3 创建模块流程图 所谓创建是指在程序执行过程中从无到有地建立起一个链表,即一个一个地开辟结

6、点和输入各结点数据,并建立起前后相链的关系。设3个指针变量:head、P1、P2它们都是用来指向struct book 类型数据的。先用malloc 函数开辟第一个结点,并使P1 P2,它们都用来指向它。然后从键盘读入一个图书的数据给p1所指的第一个结点。我们设定编号不能为0如果输入图书编号为0,则表示链表建立的过程完成,该结点不应该连接到链表中。先使head的值为NULL,这是链表为空的情况。当建立第一个结点的时候head指向该结点。如果输入的p1-num不等于0则输入第一个结点数据(n=1),令head=p1,即把p1的值赋给head,也就是使head也指向新开辟的结点。然后在开辟另一个结

7、点并使p1指向它,接着输入该结点的数据。如果输入的p1-num!=0,则应链入第二个结点(n=2),由于n!=1,则将p1的值赋给p2-next,此时p2指向第一个节点,因此执行“p2-next=p1”就将新结点的地址赋给第一个结点的next成员,使第一个结点的next成员指向第二个结点。接着使p2=p1,也就是使p2指向刚才建立的结点。接着在开辟一个结点并使p1指向它,并输入该结点的数据。在第三次循环中,由于n=3(n!=1),又将p1的值赋给p2-next,也就是将第三个结点连接到第二个结点之后,并使p2=p1,使p2指向最后一个结点。再开辟一个新的结点,并使p1指向它,输入该结点的数据。

8、由于p1-num的值是0,不再执行循环,此新结点不应被连接到链表中。此时将NULL赋给p2-next,建立链表的过程至此结束。P1最后指向的结点未链入链表中,第三个结点的next成员的值为NULL,它不指向任何结点。虽然p1指向新开辟的结点,但从链表中无法找到该结点。 4.2查询模块 该模块包括三种可查询的选项:按图书名查找,按图书名模糊查询,按图书类别查找。 对图书部信息的查询包括通过图书名查询,按图书类别查询,每一个子模块基本思想相同,先输入需要查寻的方式然后输入查询所需要的信息,如果输入信息与系统中的图书信息相匹配则输出此图书所有信息。 对图书名可以实现模糊查询,模糊查询既是只需要输入图

9、书名的一个字母就可以显示出所有图书名含有该字母的图书。 (1)按书名查询的流程图:如图4所示。 N 图4按书名查找图书信息流程图 由于按图书名查找图书信息和按图书类别查找图书信息的流程基本一致所以只画出一个流程图。按查找:定义一个名字数组,这个数组是struct book 这个结构体的成员,定义一个指针*p。当首结点是NULL时则输出list NULL。首结点不是空,P 作为首结点,判断P是否是空,如果P不是空,用strcmp函数 来查找与输入相对应的名字,然后输出该名字图书的所有信息。如果没有可以和 输入名字对应的名字则输出not been found。 4.3修改图书信息信息模块 修改图书信息模块,是在已经存在的图书信息的基础上对图书的基本信息,例如:图书编号、图书名、图书作者、图书、图书类别、图书定价,进行修改,并且保存。如图6所示。 4.4删 图7 删除图书信息流程图 先定义两个头指针p1,p2,找到要删除的图书名,如果图书名是链表的头则 将head赋给此图书所存结点的next,此图书所存结点不是头结点就将此图书上一个结点的next与此图书的结点的next相连。 4.5统计图书信息模块 统计图书模块分为两类:一类是按图书类别统计不同类别的图书数量,另一类是直接统计所有图书总数。如图8所示。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁