数据结构--图书管理系统..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构--图书管理系统.

图书管理系统 问题描述及基本要求 图书管理系统 基本要求: 每种书的登记内容包括书号、书名、著作者、现存量和库存量。 对书号建立索引表以提高查找效率。 要求系统具有以下功能: A.采编入库:新购一种书,确定书号后,登记到图书账目表中,若表中已有,则只增加库存量。 B.借阅:如果一种书的现存量大于零,则借出一本,登记借阅者的书证号和归还期限,改变现存量。 C.归还:注销对借阅者的登记,改变该书的现存量 模块划分 1.采编入库模块 实现功能:新购一种书,根据书的类别、书名和作者,登记到图书索引表中,如果表中已有,则只增加库存量。 借阅书籍模块 实现功能:如果一本书的存量大于0,则借出一本,登记借阅者的ID号,改变现存量。 归还书籍模块 实现功能:输入借阅者ID号,可查询到所有借阅记录,选择要归还的书,改变该书的现存量。程序流程图如图3所示。 测试数据 采编入库书名为dd,作者为dk的书籍,ID号为10的读者借阅后归还。 四.数据结构 书本信息存储结构 (1)存储结构框图 menutable size - size - size - size - size - menu name - name - name - name - name - 书本信息 - - 书本信息 - - (2)结构体定义 a.哈希表项 typedef struct { void *p; int size; }hashitem; b.哈希表 typedef struct { hashitem *h; int maxsize; int nowsize; }hashtable; c.索引表项 typedef struct { hashtable *a; char *name; }menu; d.索引表 typedef struct { menu *b; int size; }menutable; e.书籍结构体 typedef struct bnode { char *name; //书名 char *writer; //作者 int total; //总量 int num; //现量 int code; //书号 struct bnode *next; //哈希链 struct rnode1 *r; //读者链 }book; f.书本结构体中的读者链 typedef struct rnode1 { struct rnode *r; struct rnode1 *next; }rnode1; 读者信息存储结构 menutable size - menu name - name - name - name - name - 读者信息 - - 读者信息 - - 索引表及哈希表:结构体同书本 b.读者结构体 typedef struct rnode { int card; //卡号 int number; //借书的数量:借书有默认的最大数量 struct rnode *next; //哈希链 struct bnode1 *b; //书本链 }reader; c.读者结构体中的书本链 typedef struct bnode1 { struct bnode *b; struct bnode1 *next; }booknode1; 五.算法思想及源程序 采编入库模块 图1 采编入库程序流程图 实现功能:新购一种书,根据书的类别、书名和作者,登记到图书索引表中,如果表中已有,则只增加库存量。程序流程图如图1所示。 主函数部分 case 1: for(i=0;ib-size;i++) { printf(\t%d.%s\n,i+1,b-b[i].name); } printf(\tplease choose the num:); scanf(%d,i); getchar(); printf(\tplease input the bookname:); name=(char*)malloc(sizeof(char)*10); gets

文档评论(0)

vc5gv1x + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档