网站大量收购独家精品文档,联系QQ:2885784924

数据结构图书馆管理制度系统修改版.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计报告 题目: 图书管理基本业务模拟 院 系: 信息工程学院 专业班级: 计091 学生姓名: 王晨宇 张晴 马勋 叶旭东 学 号: 090671 090678 090683 090684 指导教师: 沙 芸 2011年6月29日 问题分析 图书馆基本业务模拟包含多方面的操作,其中本程序描述的是图书馆的新书入库、读者注册、图书馆借阅、归还、信息查询(含书籍信息查询和读者信息查询)等功能。 新书入库功能: 新到书籍入库包含几方面的操作:从界面输入书籍的编号(0~999999的长整型)、书名(字符串类型)、该书作者名(字符串类型)、该书的现存量(整型)、该书的总量(整型)。新书入库只有管理员可以进行操作。 读者注册功能 没有账号和密码读者和管理员都不能登录系统,本系统默认第一个注册系统的是系统管理员,借阅号为1000,权限是1,并输入自己基本信息,默认可借本数为10,并将所借书信息区全部置零。不是第一个注册的读者,借阅号从1000往后顺延,自己设置密码,权限为0.,其余信息与管理员相同,但是登陆之后的界面,管理员可以看到“入库”菜单选项,普通读者不能看到该选项。 借阅功能 书籍借阅主要涉及存书库和读者信息库双方的更新。用户首先登陆系统,查询该书是否存在,该书的剩余数量是否大于零,最后查询该读者是否已经借满书籍。若以上条件都满足,则将该书编号存入该读者的借阅信息区,将该读者的可借书数量减一,该存书的可借数量减一。 归还功能 读者登录后按书号来归还所借书籍,若书号正确并且确认归还该书籍,则从读者的借书区删除该书籍,将该书的可借数量增加一,然后返回。 旧书注销功能 管理员可以对注册过的图书进行注销。 数据结构描述 根据所给信息,可以采用线性链表来实现该问题。现在分别给予描述。 读者 读者有很多信息需要使用,其中包含读者的姓名、性别、密码、权限、所借书信息。这里我们定义一个结构体来描述他。定义的结构体代码如下: typedef struct READER{ long number;//借阅号 char name[15];//读者姓名 char sex;//读者性别 char password[16];//读者的密码 int residue;//读者的剩余可借书籍数量 long borrowed[10];//读者已经借阅的书籍编号 int limit;//读者权限 struct READER *next;//该结构体作为线性链表的一部分用来链接下一个节点的指针 }reader; 书籍 同读者信息一样,书籍也有很多信息需要描述,其中包含书籍的编码、书名、书籍作者、书籍的总量、书籍的可借数量、出版社信息、出版日期,整个全部我们定义一个reader类型的结构体,该结构体定义的代码如下: struct BOOK { int id; int usr[10]; int total; int store; int days[10]; int zt; char name[31]; char author[21]; } books[100]; 数据链接 数据通过每个节点的“next”指针来链接,是单线性链表,只可以从头部查询数据,所以要记录好该链表的头结点位置,不要拿该节点的头结点参与运算,否则在程序中可能会修改该链表的头结点的信息,导致后续程序无法运行。 图书馆管理系统流程图 图书馆管理系统 注册登陆 注册 登陆 借阅 借阅 注销注册归还 注销 注册 归还 A、借阅模块: 函数声明:void book_out(void);//借书 该函数的流程图如下: 进入查找 进入查找 进入借阅 退出借阅 输入书号 存在 Y N 输入可借天数 B、归还模块 函数声明:void book_in(void);//还书 该函数流程图如下: 进入归还 进入归还 输入书号 存在 归还 归还成功 退出归还 Y N Y N C、入库模块 函数声明: void book_add(void);//入库 流程图如下: 开始入库 开始入库 输入书号 输入书号 输入书籍信息 输入书籍信息 录入成功 录入成功 结束输入 结束输入 D、注销模块 函数声明:void book_del(void) 流程图如下: 进入注销 进入注销 查找编号 查找编号 信息清零 信息清零 注销结束 注销结束 算法设计 读者信息存储 读者信息采用线性单链表存储,设置头结点,头结点不存储数据,初始化时头结点-next设置为空,然后每从文件中读取一组数据,则将该数据存入新开辟的空间,链接到读者信息链

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档