数据结构图书管理系统课程设计报告_计算机-数据结构与算法.pdf
《数据结构图书管理系统课程设计报告_计算机-数据结构与算法.pdf》由会员分享,可在线阅读,更多相关《数据结构图书管理系统课程设计报告_计算机-数据结构与算法.pdf(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-.-.可修编.一、设计题目与要求【问题描述】设计一个计算机管理系统完成图书管理根本业务。【根本要求】1)每种书的登记容包括书号、书名、著作者、现存量和库存量;2)对书号建立索引表线性表以提高查找效率;3)系统主要功能如下:采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,那么只将库存量增加;借阅:如果一种书的现存量大于 0,那么借出一本,登记借阅者的书证号和归还期限,改变现存量;归还:注销对借阅者的登记,改变该书的现存量。二、小组分工 小组成员:小组分工:图书初始化、新书入库、登记读者信息、文件保存 借书系统、还书系统 图书信息查询、读者信息查询 三、需求分析 图书管理系统
2、共需要八个模块,分别是1图书初始化、2新书入库、3添加读者信息、4借书模块、5还书模块、6查询图书信息、7查询读者信息、8退出。我负责其中的四个模块,如下所示:1)图书初始化 输入图书的一些信息,编号、作者、书名、数量,使有一定的库存。2)新书入库 新书采编入库,输入编号后如果有次数只需输入数量,没有那么继续输入书名、作者、数量。3)添加读者信息-.-.可修编.读者信息初始化,输入读书证号和XX,只有输入书证号和XX才能进展借书还书 4)退出和文件保存 退出读书管理系统并保存读者和图书信息。四、概要设计 图书信息和读者信息都采用构造体类型保存。图书信息里面包括:图书编号、图书名称、作者、现有量
3、、库存量、指向下一节点的指针。读者信息里面包括:读者编号、读者XX、借书数量、可借图书数量、指向下一节点的指针。图书管理系统 图 书 管理模块 读 者 管理模块 借 阅 操作模块 查 询 操作模块 初始化图书信息采编入库 输入读者信息 借书系统 还书系统 读者信息查询 图书信息查询 名著作者现存量和库存量对书号建立索引表线性表以提高查找效率系统主要功能如下采编入库新购一种书确定书号后登记到图书帐目表中如果表中已有那么只将库存量增加借阅如果一种书的现存量大于那么借出一本登记借阅者的书新书入库登记读者信息文件存借书系统还书系统图书信息查询读者信息查询三需求分析图书管理系统共需要八个模块分别是图书初
4、始化新书入库添加读者信息借书模块还书模块查询图书信息查询读者信息退出我负责其中的四个模块果有次数只需输入数量没有那么继续输入书名作者数量添加读者信息可修编读者信息初始化输入读书证号和只有输入书证号和才能进展借书还书退出和文件保存退出读书管理系统并保存读者和图书信息图书管理系统图书管理模块读-.-.可修编.所 有 图 书 和 读 者 都 分 别 以 链 表 的 形 式 存 储,并 以 编 号 为 唯一主键。采用链表形式便于数据的添加与删改。主要的操作为:系统初始化,图书入库,读者信息登记,图书信息和读者信息文件的保存。五、详细设计 数据构造的定义:图书信息:typedef struct book
5、 char book_num10;char book_name20;char book_writer10;int book_xy;int book_kc;struct book*next;BK;读者信息:typedef struct reader char reader_num10;char reader_name10;名著作者现存量和库存量对书号建立索引表线性表以提高查找效率系统主要功能如下采编入库新购一种书确定书号后登记到图书帐目表中如果表中已有那么只将库存量增加借阅如果一种书的现存量大于那么借出一本登记借阅者的书新书入库登记读者信息文件存借书系统还书系统图书信息查询读者信息查询三需求分析
6、图书管理系统共需要八个模块分别是图书初始化新书入库添加读者信息借书模块还书模块查询图书信息查询读者信息退出我负责其中的四个模块果有次数只需输入数量没有那么继续输入书名作者数量添加读者信息可修编读者信息初始化输入读书证号和只有输入书证号和才能进展借书还书退出和文件保存退出读书管理系统并保存读者和图书信息图书管理系统图书管理模块读-.-.可修编.int right;BO borrowMax;struct reader*next;RD;算法描述:进入系统后首先进展图书初始化,输入图书的信息。1初始化 初始化之后,进入系统,显示功能列表,可选择任意系统,但在借书之前先要输入读者信息。开场 输 入 图
7、书编 号、名称、作者和图书数量 进入系统 开场 输 入 功 能所 对 应 的数字 名著作者现存量和库存量对书号建立索引表线性表以提高查找效率系统主要功能如下采编入库新购一种书确定书号后登记到图书帐目表中如果表中已有那么只将库存量增加借阅如果一种书的现存量大于那么借出一本登记借阅者的书新书入库登记读者信息文件存借书系统还书系统图书信息查询读者信息查询三需求分析图书管理系统共需要八个模块分别是图书初始化新书入库添加读者信息借书模块还书模块查询图书信息查询读者信息退出我负责其中的四个模块果有次数只需输入数量没有那么继续输入书名作者数量添加读者信息可修编读者信息初始化输入读书证号和只有输入书证号和才能
8、进展借书还书退出和文件保存退出读书管理系统并保存读者和图书信息图书管理系统图书管理模块读-.-.可修编.2)采编入库 否 录入图书信息 判断是否有此图书 在原有的纪录上加上现有的图书数量 向系统中参加新纪录 错误!请重新输入 执行所选功能 输入的数字小于 0 大于6 采编入库 是 名著作者现存量和库存量对书号建立索引表线性表以提高查找效率系统主要功能如下采编入库新购一种书确定书号后登记到图书帐目表中如果表中已有那么只将库存量增加借阅如果一种书的现存量大于那么借出一本登记借阅者的书新书入库登记读者信息文件存借书系统还书系统图书信息查询读者信息查询三需求分析图书管理系统共需要八个模块分别是图书初始
9、化新书入库添加读者信息借书模块还书模块查询图书信息查询读者信息退出我负责其中的四个模块果有次数只需输入数量没有那么继续输入书名作者数量添加读者信息可修编读者信息初始化输入读书证号和只有输入书证号和才能进展借书还书退出和文件保存退出读书管理系统并保存读者和图书信息图书管理系统图书管理模块读-.-.可修编.3)输入读者信息 是 5)退出和文件保存 登记读者 输入读者信息:读者书证号 向系统中添加新记录 完毕 判断是否存在此读者 重新输入读者信息 否 退出系统 名著作者现存量和库存量对书号建立索引表线性表以提高查找效率系统主要功能如下采编入库新购一种书确定书号后登记到图书帐目表中如果表中已有那么只将
10、库存量增加借阅如果一种书的现存量大于那么借出一本登记借阅者的书新书入库登记读者信息文件存借书系统还书系统图书信息查询读者信息查询三需求分析图书管理系统共需要八个模块分别是图书初始化新书入库添加读者信息借书模块还书模块查询图书信息查询读者信息退出我负责其中的四个模块果有次数只需输入数量没有那么继续输入书名作者数量添加读者信息可修编读者信息初始化输入读书证号和只有输入书证号和才能进展借书还书退出和文件保存退出读书管理系统并保存读者和图书信息图书管理系统图书管理模块读-.-.可修编.六、程序源代码#include#include#include#include#define Max 4 typede
11、f struct book char book_num10;char book_name20;char book_writer10;int book_xy;/现有 int book_kc;/库存 struct book*next;BK;typedef struct borrow char borrow_book_num10;char limit_date10;BO;typedef struct reader char reader_num10;char reader_name10;int right;保存文件 判断是否保存成功 退出系统 是 错误!请重新登陆系统 名著作者现存量和库存量对书号建
12、立索引表线性表以提高查找效率系统主要功能如下采编入库新购一种书确定书号后登记到图书帐目表中如果表中已有那么只将库存量增加借阅如果一种书的现存量大于那么借出一本登记借阅者的书新书入库登记读者信息文件存借书系统还书系统图书信息查询读者信息查询三需求分析图书管理系统共需要八个模块分别是图书初始化新书入库添加读者信息借书模块还书模块查询图书信息查询读者信息退出我负责其中的四个模块果有次数只需输入数量没有那么继续输入书名作者数量添加读者信息可修编读者信息初始化输入读书证号和只有输入书证号和才能进展借书还书退出和文件保存退出读书管理系统并保存读者和图书信息图书管理系统图书管理模块读-.-.可修编.BO b
13、orrowMax;struct reader*next;RD;BK*h_book;RD*h_reader;void Login();int Menu();void Init();void Init_book();void Menu_select();void Insert_New_Book();void Find_Book();void add_reader();void Save();void Save_Book();void Save_Reader();void Load();void Load_Reader();void Load_Book();void Login()system(cl
14、s);printf(nnntt*n);printf(nnnttt欢送使用图书管理系统n);printf(nnntt*n);printf(nnntt 按任意键进入系统);getch();system(cls);int Menu()/*主菜单*/int dm;printf(ntt图书管理系统主菜单n);printf(=n);printf(*t0-退出系统 n);printf(*t1-采编入库 n);printf(*t2-登记读者 n);printf(=n);printf(请选择相应的代码:);for(;)scanf(%d,&dm);/dm输入的数字 if(dm6)printf(n 错误!请重新输入
15、:);else break;名著作者现存量和库存量对书号建立索引表线性表以提高查找效率系统主要功能如下采编入库新购一种书确定书号后登记到图书帐目表中如果表中已有那么只将库存量增加借阅如果一种书的现存量大于那么借出一本登记借阅者的书新书入库登记读者信息文件存借书系统还书系统图书信息查询读者信息查询三需求分析图书管理系统共需要八个模块分别是图书初始化新书入库添加读者信息借书模块还书模块查询图书信息查询读者信息退出我负责其中的四个模块果有次数只需输入数量没有那么继续输入书名作者数量添加读者信息可修编读者信息初始化输入读书证号和只有输入书证号和才能进展借书还书退出和文件保存退出读书管理系统并保存读者和
16、图书信息图书管理系统图书管理模块读-.-.可修编.return dm;void Menu_select()/*主菜单项选择择函数*/for(;)switch(Menu()/*功能选择*/case 0:system(cls);Save();printf(nnt文件保存成功!n);printf(nnt欢送下次使用本系统!n);getch();exit(0);case 1:Insert_New_Book();break;case 2:add_reader();break;default:printf(n 错误!);exit(0);void Init()/*初始化*/BK*p0;printf(n 图书
17、初始化开场,请输入图书信息n 包括编号.书名.数量n);p0=(BK*)malloc(sizeof(BK);h_book=p0;printf(n 请输入图书信息:n);printf(图书编号:);/*输入图书编号(唯一)*/scanf(%s,p0-book_num);printf(图书名称:);/*输入图书名称*/scanf(%s,p0-book_name);printf(图书作者:);/*输入图书作者*/scanf(%s,p0-book_writer);printf(图书数量:);/*输入图书数量*/scanf(%d,&p0-book_kc);p0-book_xy=p0-book_kc;/*
18、开场时图书现有量和库存量相等*/p0-next=NULL;printf(n 图书信息初始化完毕!按任意键继续下一步操作n);getch();system(cls);名著作者现存量和库存量对书号建立索引表线性表以提高查找效率系统主要功能如下采编入库新购一种书确定书号后登记到图书帐目表中如果表中已有那么只将库存量增加借阅如果一种书的现存量大于那么借出一本登记借阅者的书新书入库登记读者信息文件存借书系统还书系统图书信息查询读者信息查询三需求分析图书管理系统共需要八个模块分别是图书初始化新书入库添加读者信息借书模块还书模块查询图书信息查询读者信息退出我负责其中的四个模块果有次数只需输入数量没有那么继续
19、输入书名作者数量添加读者信息可修编读者信息初始化输入读书证号和只有输入书证号和才能进展借书还书退出和文件保存退出读书管理系统并保存读者和图书信息图书管理系统图书管理模块读-.-.可修编.void Insert_New_Book()/*新书入库*/BK*p,*p0,*p1;p=p1=h_book;printf(n 新书入库模块n);printf(n 请输入新书信息n 包括书号.书名.数量n);p0=(BK*)malloc(sizeof(BK);printf(图书编号:);scanf(%s,p0-book_num);while(strcmp(p0-book_num,p1-book_num)!=0&
20、p1-next!=NULL)p1=p1-next;if(strcmp(p0-book_num,p1-book_num)=0)/*此处分两种情况,假设图书编号存在,那么直接进库,只须 输入书的数量*/printf(n 此编号图书已存在!直接入库!n);printf(图书数量:);scanf(%d,&p0-book_kc);p1-book_kc+=p0-book_kc;p1-book_xy+=p0-book_kc;else/*假设不存在,那么需要输入其他的信息,然后在进展插入操作*/printf(图书名称:);scanf(%s,p0-book_name);printf(图书作者:);scanf(%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 图书 管理 系统 课程设计 报告 计算机 算法
限制150内