C语言做的图书借阅管理系统

110 阅读3分钟

图书借阅管理系统

这是一个使用C语言实现的图书借阅管理系统,提供了完整的图书管理功能。

功能特性

1. 图书信息录入

  • 录入图书书名、ISBN和库存量
  • 支持重复ISBN的库存更新
  • 自动记录图书总数量

2. 借书操作

  • 通过ISBN查找图书
  • 检查库存可用性
  • 记录借阅人信息和借阅日期
  • 自动设置30天归还期限
  • 实时更新库存状态

3. 还书操作

  • 通过ISBN和借阅人姓名查找借阅记录
  • 自动检查是否逾期
  • 更新库存状态
  • 标记借阅记录为已归还

4. 逾期记录管理

  • 显示所有逾期未还的图书
  • 计算逾期天数
  • 提供详细的逾期信息

5. 数据持久化

  • 自动保存图书和借阅数据到文件
  • 程序启动时自动加载历史数据
  • 数据文件:books.datrecords.dat

编译和运行

编译程序

gcc library_system.c -o library_system

运行程序

./library_system

系统菜单

程序启动后会显示以下菜单:

=== 图书借阅管理系统 ===
1. 图书信息录入
2. 借书操作
3. 还书操作
4. 显示逾期未还记录
5. 显示所有图书
6. 显示所有借阅记录
0. 退出系统
======================

使用说明

添加图书

  1. 选择菜单选项 1
  2. 输入图书书名
  3. 输入ISBN(国际标准书号)
  4. 输入库存数量
  5. 如果ISBN已存在,可选择更新库存

借书

  1. 选择菜单选项 2
  2. 输入要借阅的图书ISBN
  3. 输入借阅人姓名
  4. 系统会自动检查库存并创建借阅记录

还书

  1. 选择菜单选项 3
  2. 输入要归还的图书ISBN
  3. 输入借阅人姓名
  4. 系统会更新库存并检查是否逾期

查看逾期记录

  1. 选择菜单选项 4
  2. 系统会显示所有逾期未还的图书信息
  3. 包括借阅人、ISBN、借阅日期、应还日期和逾期天数

数据结构

图书结构体 (Book)

typedef struct {
    char title[MAX_TITLE_LENGTH];    // 书名
    char isbn[MAX_ISBN_LENGTH];      // ISBN
    int stock;                       // 当前库存
    int total_copies;                // 总数量
} Book;

借阅记录结构体 (BorrowRecord)

typedef struct {
    char borrower_name[MAX_NAME_LENGTH];  // 借阅人姓名
    char book_isbn[MAX_ISBN_LENGTH];      // 图书ISBN
    time_t borrow_date;                   // 借阅日期
    time_t due_date;                      // 应还日期
    int is_returned;                      // 是否已归还
} BorrowRecord;

系统限制

  • 最大支持1000种图书
  • 最大支持500条借阅记录
  • 书名最大长度100字符
  • ISBN最大长度20字符
  • 借阅人姓名最大长度50字符
  • 借阅期限固定为30天

注意事项

  1. 程序会自动保存数据,退出时选择选项 0
  2. 数据文件会在程序首次运行时自动创建
  3. 请确保有足够的磁盘空间存储数据文件
  4. 建议定期备份数据文件

技术特点

  • 使用C语言标准库
  • 支持中文输入输出
  • 二进制文件存储,数据安全
  • 内存高效的数组实现
  • 完整的错误处理机制

1.png