1目录1前言..............................................................................................................................................22系统需求分析...............................................................................................................................32.1问题定义............................................................................................................................32.2需求分析............................................................................................................................33系统设计.......................................................................................................................................33.1系统总体设计....................................................................................................................33.2功能模块设计....................................................................................................................44系统实现.....................................................................................................................................104.1系统硬件环境..................................................................................................................104.2系统软件环境..................................................................................................................104.3开发工具..........................................................................................................................104.4系统详细设计与实现......................................................................................................104.4.1系统菜单设计.......................................................................................................104.4.2数据结构设计.......................................................................................................134.4.3系统功能模块.......................................................................................................145主要技术.....................................................................................................................................276系统测试.....................................................................................................................................276.1测试用例设计..................................................................................................................276.2测试结果分析..................................................................................................................27实训体会.........................................................................................................................................2821前言近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对庞大的信息量,传统的人工管理方式会导致图书管理上的混乱,人力与物力过多浪费,图书管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一管理。另一方面IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理革命,实现信息的自动化处理,提高了处理的及时性和正确性。图书馆里工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。图书管理系统采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,做到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。32系统需求分析2.1问题定义此图书管理系统用于增加、删除图书,管理借阅者信息,方便检索书籍,及查找借阅者信息,适用于图书管理员使用。2.2需求分析本图书管理系统的主要功能包括如下:一图书管理:新书入库、删除图书;二借阅管理:借阅图书、归还图书;三查找管理:按书号查找、按书名查找、按作者查找;四信息管理:查看借阅者借阅的全部图书、查看全部超期未还的图书。3系统设计3.1系统总体设计43.2功能模块设计一新书入库模块新书入库模块由函数Buy(ook&boo,charBuyNum[])来实现,形参为:初始化的包括书号、书名、作者、总库存量、现库存量的结构体和一个书号。首先通一个一个函数二分法查找比较书号BinarySearch(boo,BuyNum),并定义此函数的类型为布尔型bool,若值为真,则说明查找到,总库存和现库存分别加购入数量,若值为假,则说明书目中没有此书,在书目账户中增加此书,总库存和现库存分别增加购入数量,入库成功。图书管理系统借阅图书删除图书新书入库按书号查找按书名查找按作者查找查看借阅者借阅的全部图书查看全部超期未还图书退出系统归还图书5开始输入图书信息存在在链表增加此新书修改库存量返回主菜单YN二删除图书模块删除图书模块由函数Delete(ook&boo,charDeleteNum[])来实现,首先通一个一个函数二分法查找比较书号BinarySearch(boo,BuyNum)若值为假或图书总类数total为0,则输出书库中没有此书。若值为真,书库中有此书,则通过建立的链表用strcpy()函数将图书信息删除。6F三借阅管理模块(1)借阅图书模块借阅图书模块由函数Borrow(ook&boo,lend&Lin,charBorrowNum[],charCaNum[])来实现,形参为:初始化的图书结构体,借阅者的结构体,书号和图书证号。同上查找此书,如有此书,查看库存量是否大于0,若大于0则可以借阅此书,再查看是否有人借阅过此书若有则分配空间增加一个结点,若没有则建立一个新链表。然后记录下图书证号,若有此图书证号的信息,则修改此图书证号的借书行为,如没有,则分配空间增加一个结点。借阅证号的信息总数增加相应数量。删除此书开始输入要查询的书号是否存在此书输出信息:此书不存在结束,返回主菜单y7NYNY(2)归还图书模块归还图书模块由函数Return(ook&boo,lend&Lin,charReturnNum[],charBorrowerNum[])来实现需作出如下几个判断:输入归还日期存在输入图书证号图书证号存在书库无此书在链表中添加此证号返回主菜单开始输入书号8a.书库中是否存在此书;b.若有则判段是否是第一个借书的人,若是则直接释放该结点空间,若不是则通过strcmp()比较查找该借书人。c.判断接的是否是第一本书,若是则直接释放该结点空间,若不是则通过strcmp()比较查找此书NYN存在开始输入书号存在输入图书证号返回主菜单书库无此书无该证信息修改借阅者链表和图书链表信息y9三查找图书模块按书号查找模块通过函数SearchByNum(ook&boo,charSeaNum[])来实现;NY按书名查找模块通过函数SearchByName(ook&boo)来实现;按作者查找模块通过函数SearchByAuth(ook&boo)来实现。四查看信息模块(一)查看某图书证所借的所有书该模块由函数ViewCard(ook&boo,lend&Lin)来实现,输入图书证号,找到该证信息后输出信息,若没有则输出该证不存在。(二)查看全部超期未还的图书该模块由函数ViewBook(ook&boo,lend&Lin)来实现,输入日期通过strcmp()比较日期大小,输出超过日期的图书信息.开始输入要查询的书号存在输出无此书输出图书信息返回主菜单104系统实现4.1系统硬件环境联想电脑一台4.2系统软件环境Windowsxp4.3开发工具VisualC++6.04.4系统详细设计与实现4.4.1系统菜单设计系统主菜单截图:11相关代码如下:voidMenu()//菜单{printf(┏————————————MENU———————————┓\n);printf(││\n);printf(│1.新书入库│\n);printf(│2.删除图书│\n);printf(│3.借阅图书│\n);printf(│4.归还图书│\n);printf(│5.按书号查找│\n);printf(│6.按书名查找│\n);printf(│7.按作者查找│\n);printf(│8.查看借阅者借阅的全部图书│\n);printf(│9.查看全部超期未还的图书│\n);printf(│0.退出图书管理系统│\n);printf(││\n);printf(┗——————请选择你需要的操作—————————┛\n);