数据结构课程设计的图书管理系统.doc

数据结构课程设计的图书管理系统.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
............ 数据结构课程设计图书管理系统 一 需求分析 该程序是模拟图书馆管理系统,实现图书采编入库、借书、还书、查询等基本业务。此程序规定: (1) 管理员能够向系统中输入每种书的基本信息,包括书号、书名、作者、现存量和库存量、借阅记录,并保存记录; (2) 用户(读者)能够按书号、书名、作者查询图书信息; (3) 管理员能够实现图书采编入库(新购入一本书,经分类和确定书号之后登记到图书账目中去。如果这种书在帐中已有,则只将总库存量增加)、借阅(如果书的现存量大于0,则借出一本,登记借阅者的图书证号和归还期限)、归还(删除对借阅者的登记,改变该书的现存量)、销毁(将图书从账目中删除)等操作。 二 概要设计 系统用到的抽象数据类型定义: 1、ADT LinearList{ 数据元素:D={ai|ai∈D0,i=1,2,…,n,n≥0,D0为某一数据对象} 关系:S={<ai,ai+1>|ai,ai+1∈D0,i=1,2,…,n-1} 基本操作: InitList(L) DestroyList(L) ClearList(L) EmptyList(L) ListLength(L) Locate(L,e) GetData(L,i) InsList(L,i,e) DelList(L,i,&e) }ADT LinearList 2、ADT String{ 数据对象:D={ai|ai∈CharacterSet,i=1,2,…,n;n≧0} 数据关系:R={<ai-1,ai>|ai-1,ai∈D,i=2,…,n;n≧0} 基本操作: StrAsign(S,chars) StrInsert(S,pos,T) StrDelete(S,pos,len) StrCopy(S,T) StrEmpty(S) StrCompare(S,T) StrLength(S) StrClear(S) StrCat(S,T) (10)SubString(Sub,S,pos,len) (11)StrIndex(S,pos,T) (12)StrReplace(S,T,V) (13)StrDestroy(S) }ADT String 系统中的子程序和功能说明: InitBo(Book &boo);初始化图书信息 InitRe(lend &Lin);初始化借阅者信息 BinarySearch(Book boo,char SearchNum[]);二分法查找比较书号 Buy(Book &boo, char BuyNum[]);新书采编入库系统 Delete(Book &boo,char DeleteNum[]);清除图书信息系统 Borrow(Book &boo,lend &Lin,char BorrowNum[],char CaNum[]);借阅图书处理系统 Return(Book &boo,lend &Lin,char ReturnNum[],char BorrowerNum[]);归还图书系统 SearchByNum(Book &boo,char SeaNum[]);按书号查找系统 SearchByName(Book &boo);按书名查找系统 SearchByAuth(Book &boo);按作者查询系统 Menu();主菜单显示系统 Search();查询系统子菜单 main();主函数 系统程序功能结构图 图书馆管理系统 图书馆管理系统 图书信息录入 查询图书信息 处理图书信息 基本信息 借阅记录 按书号查询 按书名查询 按作者查询 图书采编入库 图书借阅情况 图书归还情况 图书销毁情况 三 详细设计 功能实现过程 bool BinarySearch(Book boo,char SearchNum[]) //二分法查找比较书号 { while(low<=high) { 计算中间点; if(查找到书号相同的) { 返回值true; } if(查找书号不相同) 用二分法进一步进行查找; } if(库中没有所要查找的书) 返回值false; } void Buy(Book &boo, char BuyNum[])/*采编入库*/ { if(书库中有此书) { 总库存加1; 现库存加1; } if(书库中无此书) { for(i=total;i>mid&&total;i--)/*将新采购的书插在适合位置,保持有序*/ 空出插入位置; 输入新购书籍的相关信息:书号、书名、作者、出版社; boo[i].next=NULL; total++;/*总量加1*/ } } void Delete(Book &boo,char DeleteNum[])/*清除图书

文档评论(0)

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

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

1亿VIP精品文档

相关文档