没有合适的资源?快使用搜索试试~ 我知道了~
数据结构课程设计图书管理系统.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 90 浏览量
2022-07-11
21:35:33
上传
评论 1
收藏 221KB DOC 举报
温馨提示
试读
17页
数据结构课程设计图书管理系统 一 需求分析 该程序是模拟图书馆管理系统,实现图书采编入库、借书、还书、查询等基本业务。此 程序规定: (1) 管理员能够向系统中输入每种书的基本信息,包括书号、书名、作者、现存量和库存量 、借阅记录,并保存记录; (2) 用户(读者)能够按书号、书名、作者查询图书信息; (3) 管理员能够实现图书采编入库(新购入一本书,经分类和确定书号之后登记到图书账目中 去。如果这种书在帐中已有,则只将总库存量增加)、借阅(如果书的现存量大于0,则借 出一本,登记借阅者的图书证号和归还期限)、归还(删除对借阅者的登记,改变该书的 现存量)、销毁(将图书从账目中删除)等操作。 二 概要设计 系统用到的抽象数据类型定义: 1、ADT LinearList{ 数据元素:D={ai"ai D0,i=1,2,…,n,n 0,D0为某一数据对象} 关系:S={<ai,ai+1>"ai,ai+1 D0,i=1,2,…,n-1} 基本操作: 1) InitList(L) 2) DestroyList(L) 3) ClearList(L) 4) EmptyList(L) 5) List
资源推荐
资源详情
资源评论
数据结构课程设计图书管理系统
数据结构课程设计图书管理系统
一 需求分析
该程序是模拟图书馆管理系统,实现图书采编入库、借书、还书、查询等基本业务。此程序
规定:
(1) 管理员能够向系统中输入每种书的基本信息,包括书号、书名、作者、现存量和库存量、
借阅记录,并保存记录;
(2) 用户(读者)能够按书号、书名、作者查询图书信息;
(3) 管理员能够实现图书采编入库(新购入一本书,经分类和确定书号之后登记到图书账目
中去。如果这种书在帐中已有,则只将总库存量增加)、借阅(如果书的现存量大于 0,
则借出一本,登记借阅者的图书证号和归还期限)、归还(删除对借阅者的登记,
改变该书的现存量)、销毁(将图书从账目中删除)等操作。
二 概要设计
系统用到的抽象数据类型定义:
1、ADT LinearList{
数据元素:D={a
i
|a
i
∈D
0
,i=1,2,…,n,n≥0,D
0
为某一数据对象}
关系:S={<a
i
,a
i+1
>|a
i
,a
i+1
∈D
0
,i=1,2,…,n-1}
基本操作:
(1) InitList(L)
(2) DestroyList(L)
(3) ClearList(L)
(4) EmptyList(L)
(5) ListLength(L)
(6) Locate(L,e)
(7) GetData(L,i)
(8) InsList(L,i,e)
(9) DelList(L,i,&e)
}ADT LinearList
2、ADT String{
数据对象:D={a
i
|a
i
∈CharacterSet,i=1,2,…,n;n≧0}
数据关系:R={<a
i-1
,a
i
>|a
i-1
,a
i
∈D,i=2,…,n;n≧0}
基本操作:
(1) StrAsign(S,chars)
(2) StrInsert(S,pos,T)
(3) StrDelete(S,pos,len)
(4) StrCopy(S,T)
(5) StrEmpty(S)
(6) StrCompare(S,T)
(7) StrLength(S)
(8) StrClear(S)
(9) StrCat(S,T)
(10)SubString(Sub,S,pos,len)
(11)StrIndex(S,pos,T)
(12)StrReplace(S,T,V)
数据结构课程设计图书管理系统
(13)StrDestroy(S)
}ADT String
系统中的子程序和功能说明:
InitBo(Book &boo);初始化图书信息
InitRe(lend &Lin);初始化借阅者信息
BinarySearch(Book boo,char SearchNum[]);二分法查找比较书号
Buy(Book &boo, char BuyNum[]);新书采编入库系统
Delete(Book &boo,char DeleteNum[]);清除图书信息系统
Borrow(Book &boo,lend &Lin,char BorrowNum[],char CaNum[]);借阅图书处理系统
Return(Book &boo,lend &Lin,char ReturnNum[],char BorrowerNum[]);归还图书系统
SearchByNum(Book &boo,char SeaNum[]);按书号查找系统
SearchByName(Book &boo);按书名查找系统
SearchByAuth(Book &boo);按作者查询系统
Menu();主菜单显示系统
Search();查询系统子菜单
main();主函数
系统程序功能结构图
三 详细设计
功能实现过程
bool BinarySearch(Book boo,char SearchNum[]) //二分法查找比较书号
{
while(low<=high)
{
计算中间点;
if(查找到书号相同的)
{
返回值 true;
}
if(查找书号不相同)
图书馆管理系统
图书信息录入
查询图书信息
处理图书信息
基
本
信
息
借
阅
记
录
按
书
号
查
询
按
书
名
查
询
按
作
者
查
询
图
书
采
编
入
库
图
书
借
阅
情
况
图
书
归
还
情
况
图
书
销
毁
情
况
数据结构课程设计图书管理系统
用二分法进一步进行查找;
}
if(库中没有所要查找的书)
返回值 false;
}
void Buy(Book &boo, char BuyNum[])/*采编入库*/
{
if(书库中有此书)
{
总库存加 1;
现库存加 1;
}
if(书库中无此书)
{
for(i=total;i>mid&&total;i--)/*将新采购的书插在适合位置,保持有序*/
空出插入位置;
输入新购书籍的相关信息:书号、书名、作者、出版社;
boo[i].next=NULL;
total++;/*总量加 1*/
}
}
void Delete(Book &boo,char DeleteNum[])/*清除图书信息*/
{
if(书库中没有此书)
输出“无此书”;
if(书库中有此书)
{
strcpy(连续两本书的相关信息);
现存量减 1;库存量减 1;
}
else 输出“此书已有借阅者,无法删除!”;
}
void Borrow(Book &boo,lend &Lin,char BorrowNum[],char CaNum[])/*借阅图书信息*/
{
if(没有找到此书) 输出“书库中无此书!”;
if(书库中有此书)
{
借出一本书后,该书的现存量减 1;并在借阅记录链表中插入该条记录;再对应读者信
息记录链表,如果已有该读者证号信息,直接在该链表中插入此次借阅记录;如果无该读
者证号信息,申请新单链表存放借阅记录。
}
else 输出“该书现存量为 0”;
}
void Return(Book &boo,lend &Lin,char ReturnNum[],char BorrowerNum[])/*归还图书信
剩余16页未读,继续阅读
资源评论
- 栀虞-^_^2022-12-10这个资源值得下载,资源内容详细全面,与描述一致,受益匪浅。
是空空呀
- 粉丝: 167
- 资源: 3万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功