西电C语言程序设计实验之图书馆管理系统

简单文件数据库-模拟图书馆管理系统

题目简介

涉及知识点:文件读写、内存管理、结构体定义、基本数据结构、高级格式化输入输出

要求:编写一个程序模拟图书管理系统。

用户分为管理员和读者两类,分别显示不同文本格式菜单,通过菜单项对应数字进行选择。

读者菜单包括借书、还书、查询等功能。

管理员菜单包括图书和读者信息录入、修改和删除

图书信息至少应包括:编号、书名、数量

读者信息至少应包括:编号、姓名、所借图书

可根据图书名称或编号进行图书信息查询,可查询某本书现在被哪些读者借走。

命令行参数如下:

Libsim –a(-u) xxxx

第一个参数为可执行程序名称;

第二个参数为用户身份,-a表示管理员,-u表示读者;

第三个参数为用户名

程序解析

几个函数说明

1.展示读者和图书信息

void ShowBook(char* bname);
void ShowReader(char* rname);

2.图书借阅和归还

void BookLend(char *rname, char *bname);
void BookReturn(char *rname, char* bname);

3.图书和读者信息增删

void AddBook(char* bname);
void DelBook(char* bname);
void AddReader(char* rname, char* reroot);							
void DelReader(char* rname);

4.读取读者,管理员和图书信息

void ReadBooksInfo();
void ReadReadersInfo();
void ReadAdministratorsInfo();

5.更新读者,管理员和图书信息

void UpdateBorrowerList();
void UpdateBorrowedBookList();
void UpdateBookleft();
void UpdateBooks();
void UpdateReaders();
void UpdateAdministrators();
void UpdateReroots();
void UpdateAdroots();

文件数据库信息编写规则

每个文件以end作为结尾
而null表示该书或读者已经被删除

books.txt:
每行一本书,第一行的书编号为1
readers.txt:
每行一个读者姓名,第一行的读者编号为1
administrators.txt:
每行一个管理员姓名,第管理员一行的读者编号为1

books'borrowers.txt:
每行若干个人名,第一行对应编号为1的书的借阅人
borrowers'books.txt:
每行若干个书名,第一行对应编号为1的人的在借书

reroots.txt:
每行一个密码,第一行对应编号为1的读者的密码
adroots.txt
每行一个密码,第一行对应编号为1的管理员的密码

后记

完整源码详见我的github项目:xdu-exp-c

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

akynazh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值