预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
数据结构课程设计图书管理系统一需求分析该程序就是模拟图书馆管理系统,实现图书采编入库、借书、还书、查询等基本业务。此程序规定:(1)管理员能够向系统中输入每种书得基本信息,包括书号、书名、作者、现存量与库存量、借阅记录,并保存记录;(2)用户(读者)能够按书号、书名、作者查询图书信息;(3)管理员能够实现图书采编入库(新购入一本书,经分类与确定书号之后登记到图书账目中去。如果这种书在帐中已有,则只将总库存量增加)、借阅(如果书得现存量大于0,则借出一本,登记借阅者得图书证号与归还期限)、归还(删除对借阅者得登记,改变该书得现存量)、销毁(将图书从账目中删除)等操作。二概要设计系统用到得抽象数据类型定义:1、ADTLinearList{数据元素:D={ai|ai∈D0,i=1,2,…,n,n≥0,D0为某一数据对象}关系:S={<ai,ai+1>|ai,ai+1∈D0,i=1,2,…,n—1}基本操作:InitList(L)DestroyList(L)ClearList(L)EmptyList(L)ListLength(L)Locate(L,e)GetData(L,i)InsList(L,i,e)DelList(L,i,&e)}ADTLinearList2、ADTString{数据对象:D={ai|ai∈CharacterSet,i=1,2,…,n;n≧0}数据关系:R={〈ai-1,ai〉|ai-1,ai∈D,i=2,…,n;n≧0}基本操作:StrAsign(S,chars)StrInsert(S,pos,T)StrDelete(S,pos,len)StrCopy(S,T)StrEmpty(S)Strpare(S,T)StrLength(S)StrClear(S)StrCat(S,T)(10)SubString(Sub,S,pos,len)(11)StrIndex(S,pos,T)(12)StrReplace(S,T,V)(13)StrDestroy(S)}ADTString系统中得子程序与功能说明:InitBo(Book&boo);初始化图书信息InitRe(lend&Lin);初始化借阅者信息BinarySearch(Bookboo,charSearchNum[]);二分法查找比较书号Buy(Book&boo,charBuyNum[]);新书采编入库系统Delete(Book&boo,charDeleteNum[]);清除图书信息系统Borrow(Book&boo,lend&Lin,charBorrowNum[],charCaNum[]);借阅图书处理系统Return(Book&boo,lend&Lin,charReturnNum[],charBorrowerNum[]);归还图书系统SearchByNum(Book&boo,charSeaNum[]);按书号查找系统SearchByName(Book&boo);按书名查找系统SearchByAuth(Book&boo);按作者查询系统Menu();主菜单显示系统Search();查询系统子菜单main();主函数系统程序功能结构图图书馆管理系统图书信息录入查询图书信息处理图书信息基本信息借阅记录按书号查询按书名查询按作者查询图书采编入库图书借阅情况图书归还情况图书销毁情况三详细设计功能实现过程boolBinarySearch(Bookboo,charSearchNum[])//二分法查找比较书号{ﻩwhile(low〈=high)ﻩ{ﻩﻩ计算中间点;ﻩﻩif(查找到书号相同得)ﻩ{ﻩﻩﻩ返回值true;ﻩ}ﻩﻩif(查找书号不相同)ﻩﻩ用二分法进一步进行查找;}if(库中没有所要查找得书)返回值false;}voidBuy(Book&boo,charBuyNum[])/*采编入库*/{if(书库中有此书){总库存加1;现库存加1;}if(书库中无此书){for(i=total;i〉mid&&total;i-—)/*将新采购得书插在适合位置,保持有序*/空出插入位置;输入新购书籍得相关信息:书号、书名、作者、出版社;boo[i]、next=NULL;total++;/*总量加1*/}}voidDelete(Book&boo,charDeleteNum[])/*清除图书信息*/{if(书库中没有此书)输出“无此书”;if(书库中有此书){strcpy(连续两本书得相关信息);现存量减1;库存量减1;}else输出“此书已有借阅者,无法删除!"