# 图书馆管理系统
## 第 1 章 软件需求分析
### 第 1.1 节 软件编写目的
目的:为实现图书管理的信息化、简单化,增加图书管理的功能,减轻图书管理员的劳动负担,及时、准确地反馈图书信息。
此软件具备完整显示书籍清单、借还书操作简便、准确反馈书籍信息等功能,适用于闭环管理的图书馆,应用于学生、教师等在闭环管理范围之内的人群。
### 第 1.2 节 项目背景
北京化工大学小学期 C 语言程序实训:图书馆管理系统
### 第 1.3 节 定义
项目符合标准 C 语言的代码定义
### 第 1.4 节 参考资料
a.选题来源:北京化工大学小学期 C 语言程序设计实训:图书管理系统
b.项目遵循的许可 Apache License 2.0
### 第 1.5 节 软件功能说明
软件结构分为 sign(),menu(),list(),borrow(),ret(),update(),menu_yk(),lis_yk()。
其功能分别为:sign()读取文件中的账号密码验证登录,识别用户权限登录,游客模式进入;
menu()显示功能,输入之后进入对应菜单,异常处理;
list()把书的列表从文件中读出并 print 在屏幕上;
borrow()查找图书,全局模糊查询(书名,作者,出版社),借书,错误判断,
显示借书完成,将新的书籍状态写入文件(书库与借书记录);
ret()还书确认,将还书结果同时写入书库与借书记录;
update()添加书籍,修改书籍,删除书籍;menu_ky()与 list_ky()游客登入时的主页与书籍列表,与主程序独立,防止权限泄漏。
### 第 1.6 节 软件功能的验收标准
图书管理系统包括:图书名称、图书编号、作者、库存总数、可借数,借书人姓名、学号等,此外设计的系统须有如下功能:
1.新进图书及其基本信息输入
2.图书基本信息查询
3.对某些图书信息的删除、修改
4.办理借书手续
5.办理还书手续
此外,还需要建立图书管理系统结构体,结构体中应包括图书名称、图书编号、作者、库存总数、可借数。
图书信息应该存放在文件中,所以提供文件的输入输出等操作,并且程序需具有实现图书信息浏览、查找、修改等功能,并进行借入借出服务。
## 第 2 章 软件概要设计
### 第 2.1 节 任务概述
我们小组做了图书管理系统的设计,该图书管理系统可供学生、管理员以及游客使用,可以对书籍进行查看、借阅等相关操作。
### 第 2.2 节 总体设计
该图书管理系统面向学生、管理员以及游客,对于学生和管理员,该系统具备查看书籍清单、借阅书籍、归还图书、修改图书信息和退出账号的功能,其中修改图书信息仅能由管理员操作;对于游客,该系统具备查看书籍清单、回到登录界面以及退出系统的功能。
### 第 2.3 节 软件模块设计
【介绍软件各个模块设计思路,完成功能,模块子流程图】
![](https://www.writebug.com/myres/static/uploads/2021/11/11/87b167ab7919e47d993451d2cc0c42da.writebug)
### 第 2.4 节 数据结构
【详细介绍软件设计中涉及结构体、数据结构等等】
结构体:(1)struct bookk:该结构体有 8 个成员,分别是 char 型的数组
Name(书名)、author(作者)、publisher(出版社)、ISBN(ISBN 号)、date(日期)、f_query(用于全局模糊查询 标记单项是否已出现)以及 int 型的 num_z(馆藏数)和 num_x(可借数)
(2)struct bookk book:该结构体有两个数组,分别代表两本书籍的信息,以供初始化
(3)struct idd id:该结构体有两个数组,分别是管理员和学生的账号密码,以供初始化
(4)struct ree:该结构体有三个成员,分别是 char 型的数组 retname、belong 和 r_query
(5)struct ree rebook:该结构体有两个数组,分别是两本书籍,每本分别是管理员和学生端登录时的初始化书籍使用
### 第 2.5 节 容错设计
本图书管理系统每个功能都有容错设计:
(1)菜单的容错设计:![](https://www.writebug.com/myres/static/uploads/2021/11/11/25e1d4539e9b95f9e7693be10caa0749.writebug)
当密码输入错误时会自动刷新页面;
当账号输入错误时会有相关提示信息
(2)借阅书籍的容错设计:
![](https://www.writebug.com/myres/static/uploads/2021/11/11/b53022fcd67cfffdff1fe087ab87a893.writebug)
![](https://www.writebug.com/myres/static/uploads/2021/11/11/3a449eb3d697f518ac2986da931d89bb.writebug)
在模糊查询成功后将会出现书籍清单,若输入借书序号不正确会有相关提示信息;
模糊查询失败后也会有相关提示信息
(3)归还书籍的容错设计:
![](https://www.writebug.com/myres/static/uploads/2021/11/11/4b5482bc420e8b3c44031b2ae2fa9ff9.writebug)
归还书籍时会有书籍清单,若输入还书序号不正确会有相关提示信息
(4)修改图书信息的容错设计:
![](https://www.writebug.com/myres/static/uploads/2021/11/11/c6f3ecd94f0bf3b4d26c6c06dbbf5a8e.writebug)
在修改和删除图书信息时如果相关书籍序号输入错误会有提示信息
## 第 3 章 软件详细设计
### 第 3.1 节 程序描述
#### 3.1.1 功能
1.可让用户与管理员通过账户登录,进行基础操作如查看书籍清单、借还书籍等操作,以及管理员进行图书信息的修改录入删除操作。
2.非注册用户可通过游客页面查看书籍清单。
#### 3.1.2 性能
1.能够通过账号识别用户权限
2.借阅书籍时可通过模糊查询进行书籍搜索,可通过关键词一键检索书库中书名、作者、出版社符合输入关键词的图书
3.所有书籍数目循环恒定,借出书后书库数量减少,借阅记录增加等量记录
4.所有书库、账户、借阅记录操作全部写入文件,程序退出后仍保存
#### 3.1.3 输入项目
1.书库清单(booklist.txt)
2.账户清单(idlist.txt)
3.借阅记录(returnlist.txt)
4.用户命令行输入
#### 3.1.4 输出项目
1.修改后的书库清单(booklist.txt)
2.借阅书籍产生的借阅记录(returnlist.txt)
3.命令行界面输出
### 第 3.2 节 算法
借阅书籍:对输入字符进行切片处理以及利用三维数组以实现模糊查询,然后输入命令行,利用打开文件进行操作
修改书籍:通过输入命令行,利用文件进行写入、修改以及删除
归还书籍:通过输入命令行,利用文件进行还书
查看书籍:利用 for 循环实现![](https://www.writebug.com/myres/static/uploads/2021/11/11/79cd2e0634ad823eec988e530bb961f7.writebug)
菜单:利用 if 语句实现各个功能的调用
![](https://www.writebug.com/myres/static/uploads/2021/11/11/49602605d2e18240c017f8d76ad115b7.writebug)
### 第 3.3 节 程序逻辑
![](https://www.writebug.com/myres/static/uploads/2021/11/11/a8c855b25ba89c32089134f5f127f6ec.writebug)
### 第 3.4 节 接口
1.书籍读入统计函数 count()
调用此函数可读取文件中的书籍信息写入结构体数组,统计书籍种数 bookkinds
2.账户读入统计函数 id_read()
调用此函数可读取文件中的账户信息写入结构体数组,统计账户总数 id_num
3.借还记录读入统计函数 re_read()
调用此函数可读取文件中的借书记录写入结构体数组,统计借书记录条数 re_num
4.书库列表数组清理函数 clear()
调用此函数可清空馆藏数为 0 的书籍并清除书库列表数组数组空位,用于之后的 file_w 函数
5.书库清单写入函数 file_w()
调用此函数可更新书库列表数组并写入文件 booklist.txt
6.借还列表清单写入函数 refile_w()
调用此函数可更新借书记录数组并写入文件 returnlist.txt
### 第 3.5 节 存储分配
1.用于存放书籍信息的结构体数组单个大小为 348 �
没有合适的资源?快使用搜索试试~ 我知道了~
基于 C++ 实现(控制台)图书馆管理系统【100010893】
共9个文件
txt:4个
md:1个
cpp:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 177 浏览量
2023-02-23
09:46:47
上传
评论
收藏 897KB ZIP 举报
温馨提示
该图书管理系统面向学生、管理员以及游客,对于学生和管理员,该系统具备查看书籍清单、借阅书籍、归还图书、修改图书信息和退出账号的功能,其中修改图书信息仅能由管理员操作;对于游客,该系统具备查看书籍清单、回到登录界面以及退出系统的功能。
资源推荐
资源详情
资源评论
收起资源包目录
100010893-基于 C++ 实现(控制台)图书馆管理系统.zip (9个子文件)
bookmanage
总结报告.doc 1.02MB
开发日志.txt 1KB
idlist.txt 46B
returnlist.txt 156B
LICENSE 11KB
booklist.txt 510B
.gitignore 430B
libraryctrl.cpp 24KB
README.md 21KB
共 9 条
- 1
资源评论
神仙别闹
- 粉丝: 2687
- 资源: 7649
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功