- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用C++语言实现图书管理系统
摘 要 图书管理系统主要是对图书的录入、读者借阅、读者归还等功能进行实现。本课程设计的系统开发平台为Windows XP,程序设计语言为C++,程序运行平台为Windws98/2000/XP/Seven。在程序设计中采用了B-树方法提高书籍的查找速度。
关键词 程序设计;图书管理系统; C++;数据结构;B-树
1 索引
1.1课程设计目的
设计一个小型的图书管理系统,可以实现新增图书,读者借阅,读者归还等功能。
1.2.系统性能要求
能较快的查到所要查找的图书;能准确统计当前每种书的库存,以确定此书是否可以外借;并且对外借的图书进行管理,记录借出时间、应还时间等。
1.3.功能的实现
1) 新书入库:确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;
2) 借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;
3)归还:注销对借阅者的登记,改变该书的现存量。
2 系统详细设计及实现
1.所用的知识体系
在整个程序的设计过程当中,用到了C++的一些基础知识,面向对象的思想和结构化的程序设计思想。数据结构的B-树建立索引,用索引提高查找的效率等。
主程序输入
主程序
输入
显示
借阅
添加加
查找
退出
图2.1 系统功能组成框图
显示库存
借出图书
新书入库
书号查找
归还
归还图书
排序
排序
3??. 系统功能模块划分
摸块保称
功能说明
1
系统管理
显示库存,借阅,归还
2
图书管理
图书的添加,查询等操作
3
借还书管理
对每次借书信息的添加,删除等操作
4.流程图
4.1录入图书信息
录入图书信息
录入图书信息
判断是否已经存在该图书
在原有的记录上加上现有的图书数量
Y
向系统中加入新纪录
N
4.2借阅图书
输入要借阅的图书信息
输入要借阅的图书信息
判断图书是否存在
输出提示信息
告诉读者图书不存在
N
处理借阅功能,将该图书数量减一
Y
判断图书数目是否大于0
提示读者该图书都已借出
N
Y
4.3归还图书
输入图书和读者信息
输入图书和读者信息
处理归还图书功能,清读者的借阅记录,将图书的在库数加一
书号排序书名排序
书号排序
书名排序
5 功能实现
5.1 运行程序的主界面
图5—1 操作界面
5.2 新书入库功能的操作界面
图5-2新书入库
5.3 查询数据的界面
图5-3查询书籍
5.4 查询所有书籍的界面
图 5-4显示库存
5.5 图书借阅的界面
图5-5借阅书籍
5.6 还书的界面
图5-6还书
3 参考文献
[1]?谭浩强??C语言设计(第三版)清华大学出版社[2] 严蔚敏 吴伟民 数据结构(C语言版) 清华大学出版社
[3] 谭浩强? C++ 程序设计清华大学出版社
[4]参考网址/manual/zh/function.fopen.php[5]参考网址/%B3%D5%B3%D5%B5%C4145/blog/item/48f2b1ed1d99d1d2b21cb15c.html
附录
#includestdio.h
#includestdlib.h
#includestring.h
#includeconio.h
#includetime.h
//定义局变量
#define N 10000
//表示状态的字段
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
typedef char *string ;
#define m 3 //B-树的阶,设为
// 借阅者的结构体
typedef struct User{
unsigned int number; //借书证号码
int year;
int month;
int day; //借书时间
int dyear; //截至日期的年
int dmonth; //截至日期的月
int dday; //截至日期的日
struct User *next; //下一个借阅者
}User; //定义用户的的信息
//书的结构体
struct Book{
unsigned int key; //图书的书号
char bname[20]; // 书名
char writter[20]; // 著者
unsigned int left; // 现存量
unsigned
文档评论(0)