# library_management_system
大一下数据结构实验-图书馆管理系统(基于哈希表)
鸽了一个假期 还未进行整理,抱歉了。
当时分析:
### 设计内容及要求
1.实现读者借阅图书;
2.实现读者归还图书;
3.实现对图书信息的综合管理:设置二级子目录实现信息的增,删,改,查等操作。
4.实现对读者信息的综合管理:设置二级子目录实现信息的增,删,改,查等操作。
5.显示用户信息:显示所有用户信息,含学号、姓名、借阅状况等信息;
6.返回主界面
### 设计参数
(1) 系统至少有图书管理员、用户两种角色。
(2) 系统提供控制台界面。
(3) 支持从文本文件导入图书信息,导入用户信息。
(4) 用二进制文件存储图书信息和用户信息。自定义文件格式。
(5) 用文本文件保持日志文件。每天操作保持成一个日志文件。自定义日志文件格式。
(6) 图书信息、用户信息从文件读入内存后,保存在链表中。
(7) 可以增加删除图书,增加删除用户。
(8) 可以按书名、作者查询图书;可以按学号、姓名查询用户。
(9) 可以查询某一时间段内所有图书借阅情况,例如查询从2022年1月1日到2月13日之间所有被借阅的图书,并按借阅次数排序;例如查询从2022年5月9日到6月3日之间所有来借阅图书的同学,并按学号排序;或者按借阅次数排序。
(10) 系统分析、设计正确
(11) 界面简洁、美观。
(12) 报告格式规范。
### 模块
![image-20220613110849069](https://s2.loli.net/2022/06/13/LTpwfhOy4ZA6Xzv.png)
```
Libary
L I B
L B
L I
L I
LLLLLLL I
char data[] = "L I B"
基于AVL树的图书馆管理系统 系统版本号:1.0
--------------------------------------------------------------------------
admin 界面
1.个人信息
2.借还图书
3.用户信息综合管理
4.图书信息综合管理
9.退出程序
0.退出登录
user用户 界面
1.个人信息
2.借续还书
0.退出登录
-----------------------------------------
用户信息综合管理:
1.增加用户
2.删除用户
3.修改用户
4.查看用户
0.返回
图书信息综合管理:
1.增加书籍
2.删除书籍
3.修改书籍
4.查看书籍
0.返回
-----------------------------------------
二级界面 个人信息:
1.修改密码
0.返回
二级界面 借还图书:
1.借阅图书
2.续借图书
3.归还图书
0.返回
```
1.实现读者借阅图书;
2.实现读者归还图书;
3.实现对图书信息的综合管理:设置二级子目录实现信息的增,删,改,查等操作。
4.实现对读者信息的综合管理:设置二级子目录实现信息的增,删,改,查等操作。
5.显示用户信息:显示所有用户信息,含学号、姓名、借阅状况等信息;
6.返回主界面
## 开工
### 书籍信息分析
#### txt
**ID** 1.纯数字 全为正数 9996935604 2.数字结尾带X 000755303X~999149183X 3. B016C8LXX6
用 %s char型数组[11] 所有的都只有10位
**书名**
**作者**
BookType
```
char *t = strtok(s, “\t”);
while (t != NULL)
{
strcmp(book.Id, t);
t = strtok(NULL, “\t”);
strcmp(book.Name, t);
t = strtok(NULL, “\t”);
}
```
#### csv 二进制
https://zhuanlan.zhihu.com/p/464081579
```c
struct bookInfo
{
char Id[11];
char *Name; //有些名字特别的长,我感觉应该物尽其用
char Author;
char BookType;
int counts;
};
```
```
sturct userInfo
{
char Id[10];
char Name[10];
char Password[20];
int Power; //admin user
int deleted;
};
```
```
sturct log
{
char BookId[11];
char StartDate[];
char EndDate[];
char ReaderId[];
};
```
来个 config.h存储全局变量
#### 搜索
模糊搜索
```c
char *strpbrk(const char *str1, const char *str2)
检索字符串 str1 中第一个匹配字符串 str2 中字符的字符,不包含空结束字符。也就是说,依次检验字符串 str1 中的字符,当被检验字符在字符串 str2 中也包含时,则停止检验,并返回该字符位置。
```
### hash
```
修改图书 Id 时
// 基于Id 的哈希表,修改后需要将原节点删除 并重新加入哈希表.
```
还存在的问题
```
使用的是简单的凯撒加密,没有设置密文的范围,如果在加密后密文中出现','则会影响csv存储。改进可使用MD5或者SHA1 加密。
在主页面不输入数字,而输入其他的如 cls 会出现主页面的循环, 解决:
1.getchar() //懂得都懂
2. if (!isdigit(cmd))
{
getchar();
continue;
}
对于用户来说 使用的是单链表存储在内存,读取时使用的是 头插法, 但存储时使用也是头部先保存, 即用户文件在经历一个读入,写出后,,顺序会头尾交换
3.图书和用户信息没有遵循数据的“三二一”原则 不能有效避免灾容、删库,误操作 等
4.图书和用户修改的地方,可以加一个是否确认修改的二级询问。
5.log log的类别可以分级[INFO DEBUG ERROR WARNING],可以再记录从什么变为什么
6.“多用户”
```
https://blog.csdn.net/baidu_26678247/article/details/122836630
# C语言判断文件或文件夹是否存在
fopen() 错误代码
https://blog.csdn.net/wssjn1994/article/details/99539888
# C语言实现时间戳转年月日时分秒格式
https://blog.csdn.net/qq_15053863/article/details/124490752
# C语言 时间戳和标准格式的转换
https://blog.csdn.net/zhuguanlin121/article/details/123512559
https://www.runoob.com/cprogramming/c-function-mktime.html
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
大一下数据结构实验-图书馆管理系统(基于哈希表).zip (52个子文件)
资料总结
usercsvOperation.py 625B
record.h 882B
bookinfo.c 16KB
test.c 1KB
.vscode
settings.json 845B
tasks.json 1KB
launch.json 3KB
log.h 367B
test.exe 76KB
others
usercsvOperation.py 634B
字符画.c 3KB
userInfo.csv 2KB
字符画.exe 56KB
bookinfo.h 1KB
user.h 650B
record.c 8KB
userInfo.csv 2KB
time.exe 55KB
booklisting.txt 4.98MB
config.h 523B
show.h 283B
main.exe 118KB
show.c 3KB
user.c 12KB
booklisting_bak.txt 4.98MB
record.csv 131B
报告
数据结构课程设计报告.docx 183KB
课程设计任务书_3.docx 19KB
imgs
个人信息.png 8KB
图书信息综合管理.png 11KB
login.png 5KB
图书综合.png 10KB
查询图书.png 6KB
基本功能.png 18KB
UserInfo.png 14KB
log.png 6KB
admin.png 9KB
user.png 7KB
用户综合.png 10KB
UserLNode.png 4KB
RecordInfo.png 15KB
HashTableNode.png 4KB
大纲.png 39KB
用户信息综合管理.png 12KB
BookInfo.png 7KB
log.c 1KB
time.c 725B
main.c 2KB
README.md 7KB
log
2022-6-24.log 6KB
2022-6-23.log 1KB
book30-listing-train.csv 4.8MB
共 52 条
- 1
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功