已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
include include include include define Max 2 typedef struct book 书的信息 char book num 10 书号 char book name 20 书名 char book writer 10 作者 int book xy 书的剩余数量 int book kc 书的总数量 struct book next BK typedef struct borrow 被借书的信息 char borrow book num 10 借书书号 char limit date 8 借书归还日期 BO typedef struct reader 读者信息 char reader num 10 读者号 char reader name 10 读者姓名 int right 已借数量 BO borrow Max 已借书信息 struct reader next RD BK h book RD h reader void Login int Menu void Init void Init book void Menu select void Insert New Book void Find Book void add reader void Print reader void Print book void Borrow Book void Return Book void Save void Save Book void Save Reader void Load void Load Reader void Load Book void Login system cls printf n n n t t t 欢迎使用图书管理系统 n printf n n t t 本程序分析者 秦义 学号 2 n n n n n n n 以前是设计者 xxxx printf n n n t t 按 任 意 键 进 入 系 统 getch system cls int Menu 主菜单 int dm printf n t t 图书管理系统主菜单 n printf n printf t0 退出系统 n printf t1 采编入库 n printf t2 登记读者 n printf t3 借阅登记 n printf t4 还书管理 n printf t5 查询图书信息 n printf t6 查询读者信息 n printf n printf 请选择相应的代码 for scanf d if dm6 printf n 错误 请重新输入 else break return dm void Menu select 主菜单选择函数 for switch Menu 功能选择 case 0 system cls Save printf n n t 文件保存成功 n printf n n t 欢迎下次使用本系统 n getch exit 0 case 1 Insert New Book break case 2 add reader break case 3 Borrow Book break case 4 Return Book break case 5 Print book break case 6 Print reader break default printf n 错误 exit 0 void Init 初始化 Init book void Init book 初始化图书信息 BK p0 printf n 图书初始化开始 请输入图书信息 n 包括编号 书名 数量 n p0 BK malloc sizeof BK h book p0 printf n 请输入图书信息 n printf 图书编号 输入图书编号 唯一 scanf s p0 book num printf 图书名称 输入图书名称 scanf s p0 book name printf 图书作者 输入图书作者 scanf s p0 book writer printf 图书数量 输入图书数量 scanf d p0 book xy p0 book kc 开始时图书现有量和库存量相等 p0 next NULL printf n 图书信息初始化完毕 按任意键继续下一步操作 n getch system cls void Insert New Book 新书入库 BK p p0 p1 p p1 h book printf n 新书入库模块 n printf n 请输入新书信息 n 包括书号 书名 数量 n p0 BK malloc sizeof BK printf 图书编号 scanf s p0 book num while strcmp p0 book num p1 book num 0 if strcmp p0 book num p1 book num 0 此处分两种情况 若图书编 号存在 则直接进库 只须输入书的数量 printf n 此编号图书已存在 直接入库 n printf 图书数量 scanf d p1 book kc p0 book kc p1 book xy p0 book kc else 若不存在 则需要输入其他的信息 然后在进行插入操作 printf 图书名称 scanf s p0 book name printf 图书作者 scanf s p0 book writer printf 图书数量 scanf d while p next p p next if h book NULL h book p0 此处分两种情况 链表中没有数据 head 直接指向 p0 处 else p next p0 此处分两种情况 链表中有数据 链表 中最后元素的 next 指向 p0 处 p0 next NULL p0 book xy p0 book kc printf n 新书入库完毕 按任意键继续下一步操作 n getch system cls void add reader 添加读者 RD p0 int i printf n 读者初始化开始 请输入读者信息 n 包括书证号 姓名 n p0 RD malloc sizeof RD 申请新结点存储空间 h reader p0 printf n 请输入读者的信息 n printf 读者书证号 scanf s p0 reader num printf 读者姓名 scanf s p0 reader name p0 right 0 for i 0 iborrow i borrow book num 0 所借图书直接置为 0 即没有借 书 strcpy p0 borrow i limit date 0 p0 next NULL printf n 读者信息初始化完毕 按任意键继续下一步操作 n getch system cls void Borrow Book 借书模块 BK p0 RD p1 char bo num 10 rea num 10 lim date 8 int i p0 h book p1 h reader printf n 借书模块 n printf n 请输入借书的读者书证号 scanf s rea num while p1 next NULL if p1 next NULL goto END printf n 请输入你要借的书的编号 scanf s bo num while strcmp bo num p0 book num 0 if p0 next NULL else if p0 book xyright Max printf n 不好意思 借书数目已满 不能借书 n 按任意键返回 else if strcmp p1 borrow 0 borrow book num 0 0 for i 0 iborrow i borrow book num bo num 0 printf n 抱歉 同一个读者不能同借两本相同的书 n else if strcmp p1 borrow i borrow book num 0 0 printf n 请输入你要归还图书的日期 scanf s lim date strcpy p1 borrow p1 right borrow book num bo num strcpy p1 borrow p1 right 1 limit date lim date p0 book xy printf n 读者编号 s 借书完毕 按任意键继续下步操作 p1 reader num else printf n 请输入你要归还图书的日期 scanf s lim date strcpy p1 borrow p1 right borrow book num bo num strcpy p1 borrow p1 right 1 limit date lim date p0 book xy printf n 读者编号 s 借书完毕 按任意键继续下步操作 p1 reader num END getch system cls void Return Book 还书模块 BK p RD q int i j find 0 char return book num 10 return reader num 10 p h book q h reader printf n 还书模块 n printf n 请输入要还书的读者编号 scanf s return reader num while q next NULL if q next NULL printf n 此读者编号不存在 按任意键返回 n goto end printf n 请输入读者还书的编号 scanf s return book num while p next NULL if p next NULL printf n 错误 此图书编号不存在 按任意键返回 n goto end for i 0 iborrow i borrow book num 0 如果 此读者借了此书 find 1 for j i jborrow j borrow book num q borrow j 1 borrow book num strcpy q borrow j limit date q borrow j 1 limit date strcpy q borrow Max 1 borrow book num 0 strcpy q borrow Max 1 limit date 0 p book xy q right printf n 编号 s 的读者还书完毕 按任意键继续下步操作 return reader num if find 0 printf n 错误 此读者未借此书 按任意键返回 n end getch system cls void Print book 查询图书信息 BK p p h book printf n 图书信息如下 n n printf 图书编号 t 图书名称 t 图书作者 t 现有 t t 库存 n while p NULL printf s t t s t t s t t d t t d n p book num p book name p book writer p book xy p book kc p p next printf n 图书信息打印完毕 按任意键继续下一步操作 getch system cls void Print reader 查询读者信息 RD p int i p h reader printf n 读者信息如下 n n printf 读者书证号 t t 读者姓名 n printf n while p NULL printf t s t t s p reader num p reader name for i 0 iborrow i borrow book num printf t t s p borrow i limit date printf n p p next printf n 读者信息打印完毕 按任意键继续下一步操作 getch system cls 文件模块 void Save 保存信息 Save Reader Save Book void Save Reader 保存读者信息 FILE fp reader RD p p0 p h reader if fp reader fopen Reader txt wb NULL 创建文件 进行保存 printf n 文件保存失败 n 请重新启动本系统 n exit 0 while p NULL if fwrite p sizeof RD 1 fp reader 1 将链表中的信息写入文件中 printf n 写入文件失败 n 请重新启动本系统 n p0 p p p next free p0 释放所有结点 h reader NULL fclose fp reader 关闭文件 void Save Book 保存图书信息 FILE fp book 创建文件型指针 BK p p0 p h book if fp book fopen Book txt wb NULL 创建文件 进行保存 printf n 文件保存失败 n 请重新启动本系统 n exit 0 while p NULL if fwrite p sizeof BK 1 fp book 1 将链表中的信息写 入文件中 printf n 写入文件失败 n 请重新启动本系统 n p0 p p p next free p0 h book NULL fclose fp book 关闭文件 void Load 加载信息 Load Reader Load Book void Load Reader 加载读者信息 RD p1 p2 p3 FILE fp 创建文件型指针
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 娱乐主播职业规划指南
- 痈病防治健康知识
- 煤炭运输合同协议2026年保险范围
- 高级护理员试题及答案
- 雅思考试题目及分析
- 土木工程结构力学题目及解析
- GMAT(数学)试题及解析
- 注册内销员内贸业务试卷及详解
- 半导体物理试题答案
- 学前教育数学游戏题目及分析
- SYLD显示屏培训资料
- 中国莫干山象月湖国际休闲度假谷一期项目环境影响报告
- 幼儿园获奖课件大班社会《遵守规则》
- 2022年浙江衢州市大花园集团招聘31人上岸笔试历年难、易错点考题附带参考答案与详解
- 劳动纠纷应急预案
- 培训中心手绘技能培训马克笔单体表现
- DB23T 2638-2020农村生活垃圾处理标准
- YC/T 205-2017烟草及烟草制品仓库设计规范
- 人行横洞施工技术交底
- 管事部培训资料课件
- 河北省衡水市各县区乡镇行政村村庄村名居民村民委员会明细
评论
0/150
提交评论