- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
. . .
..........
数据结构
课程设计报告
设计题目:图书管理信息系统的设计与实现
专 业 通信工程(物联网)
班 级
学 生
学 号
指导教师
起止时间 2012-8-20至2012-9-11
湖北师范学院
2012 年 下 学期
一、设计题目
十七、图书管理信息系统的设计与实现
【问题描述】图书信息所表示的就是一个数据库文件。图书管理一般包括:图书采编、图书编目、图书查询及图书流通(借、还书)等。要求设计一个图书管理信息系统,用计算机实现上述系统功能。
【基本要求】
建立一个图书信息数据库文件,输入若干种书的记录,建立一个以书号为关键字的索引文件;在主数据库文件中建立以书名、作者及出版社作为次关键字的索引以及对应的索引链头文件,如图所示;
建立关于书号、书名、作者及出版社的图书查询;
实现图书的借还子系统,包括建立读者文件、借还文件、读者管理及图书借还等相关的处理。
记录号
书号
书名
指针1
作者
指针2
出版社
指针3
分类
藏书量
借出数
1
1021
数据库
0
李小云
0
人民邮电
0
021
8
0
2
1014
数据结构
0
刘小洋
0
中国科学
0
013
6
0
3
1106
操作系统
0
许海平
0
人民邮电
1
024
7
0
4
1108
数据结构
2
孙一
0
清华大学
0
013
5
0
5
1203
程序设计
0
李小云
1
中国科学
2
035
6
0
6
2201
数据库
1
许海平
3
清华大学
4
021
6
0
7
2360
数据结构
4
李小云
5
人民邮电
3
013
5
0
8
0030
程序设计
5
刘小洋
2
清华大学
6
035
7
0
a)图书主索引文件
书名
链头地址
长度
作者
链头地址
长度
出版社
链头地址
长度
数据库
6
2
李小云
7
3
人民邮电
7
3
数据结构
7
3
刘小洋
8
2
中国科学
5
2
操作系统
3
1
许海平
6
2
清华大学
8
3
程序设计
8
2
孙一
4
1
b)书名索引链头文件 c) 作者索引链头文件 d)出版社索引链头文件
二、设计内容
设计一个计算机管理系统完成图书管理基本业务。
(1)每种书的登记内容包括书号、书名、著作者、现存量和库存量;
(2)对书号建立索引表(线性表)以提高查找效率;
(3)采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,
则只将库存量增加;
(4)借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和还
期限,改变现存量;
(5)归还:注销对借阅者的登记,改变该书的现存量。
三、概要设计:确定所需模块及模块间调用关系
分析:首先应该定义借书人的结构体信息和图书结构体信息,为了便于查找图书和借书人,分别对其建立单链表。然后定义buy(),SearchByNum (),SearchByName(), borrow(),return()五个函数分别实现图书采编入库的功能,按书号查询的功能,按书名查找的功能,借书功能和还书功能。
.根据任务的要求,先定义头文件。然后写出借书人和图书的结构体信息。为了便
于查找图书和存储借书人的信息,分别对借书人和图书采用链表的形式存放。
//头文件的声明
#include stdio.h
#include string.h
#include stdlib.h
#define MAXSIZE 100 //最大值定义为100
#define LIST_INIT_SIZE 100//图书证使用者最大值定义为100
//借书人的结构体
typedef struct Boro//借书记录
{
char BNum[20];//所借书的书号
char BorDate[8];//借书日期
char RetDate[8];//归还日期
struct Boro *next;
}Bor;
typedef struct LinkBook
{
Bor *next;//该图书证的借书记录
char CNum[20];//图书证号
int Total;//借书的数量
}lend[LIST_INIT_SIZE];//借书人数组
//图书的结构体信息
typedef struct LNode
{
文档评论(0)