ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:151.98KB ,
资源ID:6121356      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6121356.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C程序设计项目图书管理系统n.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C程序设计项目图书管理系统n.docx

1、C程序设计项目图书管理系统n基于文件的图书管理系统项目需求 1总体设计 2详细设计 3项目需求一、新书入库图书信息包括书名, 书号, 库存量, 现存量共4项. 首先输入3本书的信息, 并将其存入文件”book.dat”中. 当有新书入库时, 先判断文件中是否有此书( 即比较书名 ), 若有则修改库存量, 现存量的信息; 若无此书, 则将该书的信息添加到文件中。二、图书查询输入一个书号, 在文件中查找此书, 若找到则输出此书的全部信息; 若找不到则输出查找失败的信息。三、借阅管理1.每个读者的信息包括姓名, 编号,1张借书卡( 限借一本书 ), 输入3个读者的信息存入文件“reader.dat”

2、中. 2.借书登记:输入读者的编号,所借图书的书号, 先判断姓名是否在文件“reader.dat”中, 若有则将书号存入一张借书卡上( 注: 初始时借书卡的信息都为零, 借书后借书卡的信息改为所借书的书号), 并修改文件“reader.dat”的相应内容, 同时修改文件“book.dat”中此书的现存量. 若“reader.dat”无此姓名, 则应提示错误。3.还书管理: 输入读者的编号, 所还图书的书号, 将借书卡的信息置为零, 并修改文件“reader.dat”的相应内容, 同时修改文件“book.dat”中此书的现存量。四、输出全部图书信息和全部读者信息五、退出系统六、附加说明系统将来完

3、善的功能有:添加读者;一位读者可同时借阅和归还多本图书等等。总体设计一、系统主功能模块1.新书入库模块:可用一个函数insert_new_book(char book_num,char book_name,int number)来实现。形参分别为:书名, 书号,以及有多少本书要入库,再根据要求将信息写入文件boot.dat中。又由于最开始要输入三本新书,故可以加一个初始化函数init_book(),但是初始化函数只执行一次,也就是在系统第一次运行的时候执行,此时可以根据判断是否存在boot.dat这个文件来决定是否执行初始化函数。2.查询模块:可用一个函数void find_book(char

4、 book_num)来实现。找到就输出此书全部信息,找不到就输出查找失败信息。3.借阅管理模块:(1)三个读者的信息可以在系统初始化时完成.即可用初始化函数init_reader()来实现对读者的初始化。因为读者初始化函数也只是在系统第一次运行的时候执行一次,故也可以根据是否存在reader.dat文件来确定是否执行此函数。(到现在可以发现在系统初始化函数里,至少已经需要调用两个初始化函数了)(2)借书登记模块:可用一个函数borrow_book(char reader_num,char book_num)来实现。在函数中要分别判断:a.该读者的编号是否已经存在,如果不存在,则提示错误。b.该

5、读者的借阅书是否已满(即最多只能借1本书)如果是,则提醒该用户先去还书。c.输出的书号对应的书是否存在,如果不存在,则提醒读者不存在此书。借书过程完成后,则对读者信息里的借书信息写上所借书号,并修改库存量。(3)还书管理模块:可用一个函数return_book(char reader_num,char book_num)来实现。在实现此函数时要判断:a.该读者的姓名是否已经存在,如果不存在,则提示错误。b.该读者是否已经借阅此书。如果没有,则提示错误。c.还书过程完成后,则对读者信息里的借书信息清零,并修改库存量。3.输出图书和读者信息:可分别用模块print_book()和print_rea

6、der()来实现,直接从book.dat文件和reader.dat文件中读取信息并输出。4.退出系统:可用一个函数exit()来实现。首先将信息保存到文件,释放动态创建的内存空间,再退出此程序。二、系统主功能模块结构图: 详细设计一、界面设计此系统界面采用图形和数字化菜单设计。主界面设计如下:图书管理系统图书管理系统主菜单请选择相应的数字执行相应的功能:0:退出此系统1:新书入库2:图书查询3:借书登记4:还书管理5:输出全部图书信息和读者信息各子界面如下:1.新书入库界面:请选择相应的数字执行相应的功能:10:返回主菜单11:新书入库请输入新书名:请输入新书号:请输入新书数量: (注:新书入

7、库成功后,程序返回到子界面1)2.图书查询界面界面: 请选择相应的数字执行相应的功能:20:返回主菜单21:图书查询请输入需要查询的书号: (注:图书查询完成后,返回到子界面2) 3.借书登记界面:请选择相应的数字执行相应的功能:30:返回主菜单31:借书登记 请输入读者编号: 请输入所借书号: (注:借书过程完成后,返回到子界面3) 4.还书管理:请选择相应的数字执行相应的功能:40:返回主菜单41:还书登记 请输入读者编号: 请输入所借书号: (注:还书过程完成后,返回到子界面4) 5.输出全部图书和读者信息:请选择相应的数字执行相应的功能:50:返回主菜单51:输出全部图书信息:书号 书

8、名: 库存量 现存量 52:输出全部读者信息:读者编号 读者姓名 所借书号(注:输出图书和读者信息后,返回到子界面5) 二、 数据结构设计考虑到图书信息和读者信息中都包含有不同类型的数据,故分别建立图书和读者两种类型的结构体;由于图书和读者的数量非固定,所以采用动态链式存储来实现。图书类型:typedef struct bkchar book_num11; /* 书号采用10位编码最后1位为字符串结束标志(下同)* /char book_name41; /* 书名规定不超过40个字母(20 个汉字) */ unsigned book_kc,book_xc; /* book_kc 代表库存梁,b

9、ook_xc代表现存量 */struct bk *next; book;读者类型:typedef struct rdchar reader_num11; /* 读者编号采用10位编码 */char reader_name11; /* 读者姓名 */ char reader_book_num11; /*表示所借书号,初始值为“0”*/struct bk *next; reader;三、 主要功能流程图1系统主要结构流程图:初始化 新书入库 2.新书入库功能程序结构图 3.图书查询程序结构图: 4借书登记程序结构流程图: 5.还书管理程序结构图:6输出读者和图书信息四、文件存储路径可执行文件tsglxt.exe及book.dat、reader.dat,都存储在c:tsgl文件夹下。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1