数据结构图书管理系统方案.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文档。上传文档
查看更多
. . . PAGE 数 据 结 构 课 程 设 计 说 明 书 ? ? ? 学生姓名: 学 号: 学 院: 专 业: 题 目: 成绩 指导教师 ? ? ? ?年 月 日 设计目的(小标题黑体五号字) 设计一个计算机管理系统完成图书管理基本业务(数据可以存储在一个数据文件中,数据结构、具体数据自定)。 设计内容和要求 具体功能有:1)每种书的登记内容包括书号、书名、著作者、出版单位、现存量和库存量;2)对书号建立索引表(线性表)以提高查找效率;3)采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;4)借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;5)归还:注销对借阅者的登记,改变该书的现存量。 3.本设计所采用的数据结构 所用数据结构:线性表、查找、排序 链表:用一组地址任意的存储单元存放线性表中的数据元素。 以元素(数据元素的映象) + 指针(指示后继元素存储位置) = 结点(表示数据元素 或 数据元素的映象) 以“结点的序列”表示线性表称作线性链表(单链表) 单链表是一种链式存取的结构,为找第 i 个数据元素必须先找到第 i-1 个数据元素。 因此,查找第 i 个数据元素的基本操作为:移动指针,比较 j 和 i。 (1)malloc(size) 在内存的动态存储区申请一个长度为size字节的连续空间。 (2)calloc(n,size) 在内存的动态存储区申请n个长度为size字节的连续空间,函数返回值为分配空间的首地址。若此函数未被成功执行,函数返回值为0。 (3)free(p) 释放由指针p所指向的存储单元,而存储单元的大小是最近一次调用malloc()或calloc()函数时所申请的存储空间。 运用了单链表的插入、删除、排序、修改等一些操作! 功能模块详细设计 4.1 详细设计思想 基本思想: 图书信息录入、图书信息的查询、图书信息的排序、图书信息的修改、图书信息的删除、图书的借阅、图书的归还、退出图书管理系统。 程序中的主要函数有: void main() //主函数 int CreateListR(LinkList *L) //尾插法建表 void LocateElem(LinkList *L) //查询 int Sort(LinkList *L) //递增有序排序(直接插入排序法) void Display(LinkList *L) //输出排序结果 ModifyList(LinkList *L) //修改 int ListDelete(LinkList *L) //删除 void Borrow(LinkList *L) //借阅 void Return(LinkList *L) //归还 图书信息的录入添加 图书信息的录入添加 图书信息的查询模块 图书信息的排序模块 图书信息的修改模块 图书信息的删除模块 图 书的 借阅模块 图书的归还模块 退出图书管理系统 图 书 管 理 系 统 主 程 序 模 块 4.2 核心代码 #include stdio.h #include string.h #includestdlib.h #includemalloc.h typedef struct { int num; char name[20]; char author[20]; char press[20]; int count; char price[10]; } ElemType; typedef struct LNode //定义单链表结点类型 { ElemType data; struct LNode *next; } LinkList; void InitList(LinkList *L) //初始化线性表 { L = (LinkList *) malloc(sizeof(LinkList)); //创建头结点 L-next = NULL; } int CreateListR(LinkList *L) //尾插法建表 { int i, n; LinkList *s, *q, *p; p = L; while (p-next != NULL ) p = p-next; printf(请输入需要录入的图书信息的个数:n=); scanf(%d, n); for (i = 1; i n + 1; i++) { s = (LinkLi

文档评论(0)

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

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

1亿VIP精品文档

相关文档