数据结构图书管理系统Word下载.docx

上传人:b****2 文档编号:14798900 上传时间:2022-10-24 格式:DOCX 页数:21 大小:19.74KB
下载 相关 举报
数据结构图书管理系统Word下载.docx_第1页
第1页 / 共21页
数据结构图书管理系统Word下载.docx_第2页
第2页 / 共21页
数据结构图书管理系统Word下载.docx_第3页
第3页 / 共21页
数据结构图书管理系统Word下载.docx_第4页
第4页 / 共21页
数据结构图书管理系统Word下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

数据结构图书管理系统Word下载.docx

《数据结构图书管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《数据结构图书管理系统Word下载.docx(21页珍藏版)》请在冰豆网上搜索。

数据结构图书管理系统Word下载.docx

新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;

*借阅:

如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;

*归还:

注销对借阅者的登记,改变该书的现存量。

【进一步完成内容】

系统功能的进一步完善;

索引表采用树表。

设计内容

程序流程图

源程序

软件测试报告(包括所用到的数据及结果)

二、概要设计

有八个模块

图书初始化

输入图书的一些信息,编号、作者、书名、数量,使有一定的库存。

新书入库

新书采编入库,输入编号后如果有次数只需输入数量,没有则继续输入书名、作者、数量。

添加读者信息

读者信息初始化,输入读书证号和姓名,只有输入书证号和姓名才能进行借书还书

借书模块

读者输入读书证号,证号存在输入要借的图书编号,不能借同一本书,如果借书数量以达到最大也不能借书。

还书模块

归还已借的图书,要先输入读者书证号,书证号存在继续输入要还的图书编号,图书编号存在并且借来此书,归还成功。

查询图书信息

查询读者信息

可查询读者姓名书证号,借了几本书,都是什么书和还书日期,还可以借几本书。

退出

退出读书管理系统并保存读者和图书信息。

图书管理系统

图书管理模块

读者管理模块

借阅操作模块

查询操作模块

借书系统

读者信息查询

图书信息查询

输入读者信息

还书系统

采编入库

初始化图书信息

三、算法设计

进入系统后首先进行图书初始化,输入图书的信息。

开始

开始开始

输入图书编号、名称、作者和图书数量

进入系统

初始化之后,进入系统,显示功能列表,可选择任意系统,但在借书之前先要输入读者信息。

输入功能所对应的数字

输入的数字小于0大于6

错误!

请重新输入

执行所选功能

1)采编入库

录入图书信息

判断是否有此图书

在原有的纪录上加上现有的图书数量

向系统中加入新纪录

2)输入读者信息

输入读者信息:

读者书证号

结束

3)借阅图书

输入读者书证号

判断读者是否存在

输出次读者编号不存在!

按任意键返回

输入要借的图书编号

判断图书编号是否存在

输出此图书编号不存在!

看是否还有此图书

输出此书已借完,按任意键返回

看读者的借书数目是否满了

输出借书数目已满不能借书,按任意键返回

看读者是否借了相同的书

输出同一读者不能借相同的两本书

输入归还图书的日期

图书现有数量和库存数量都减1

输出读者结束成功,按任意键返回

4)归还图书

输入要还书的读者编号

判断读者编号是否存在

输出读者编号不存在按任意键返回

输入读者还书编号

输出此图书编号不存在按任意键返回

此图书编号和还书日期等于0

库存和现有图书数量加1,借书数量减1

输出读者还书完毕,按任意键返回

5)查询图书信息

判断图书信息是否为空

输出图书信息:

编号、名称、作者、现有和库存

6)查询读者信息

判断读者信息是否为空

输出读者书证号、姓名、图书编码和还书日期

输出读者信息打印完毕

四、运行结果和调试分析

图书信息初始化

同一本新书入库的运行结果图

不同的新书采编入库

采编入库后查询图书信息的运行结果图

登记读者信息

借书

借书后查询图书信息的运行结果图

借同一本书的运行结果图

借不同的书

借两本书后查询读者信息的运行结果图

还书运行结果图

还书之后再查询读者信息的运行结果图

还书后查询图书信息

五、总结体会

虽然这次的程序是通过上网查出来的,但是通过这次的实验使我知道了图书管理系统的流程,知道了一些以前不知道的知识,在运行程序时也遇到了一些问题,借书时只能借一本书,再借书就不能显示是借了还是不能借,把最多能借书的数量改了一下还是不行,最后在每一个判断输出之后都加了gotoEND借书,就能正常借书了。

程序有点长,本来一个函数就能完成一个功能,他用了两个函数就我把自己能改成一个的改了。

借书系统比较复杂,不容易懂,和同学交流了一下自己看了看才明白。

这次的实验还让我复习了数据结构的一些知识,如数组,while语句,switch语句,链表,还知道了如何使用system("

cls"

)清屏,还知道了strcmp是用来比较字符串s1和s2大小的,strcpy使用来把字符串s2的值赋给s1的。

这次的实验增加了我们自己动手动脑的能力,希望多做一些这样的实验,很有意义,和现实生活结合的程序增加了我的兴趣。

源代码

#include<

stdio.h>

#include<

string.h>

stdlib.h>

conio.h>

#defineMax4

typedefstructbook

{

charbook_num[10];

charbook_name[20];

charbook_writer[10];

intbook_xy;

intbook_kc;

structbook*next;

}BK;

typedefstructborrow

charborrow_book_num[10];

charlimit_date[8];

}BO;

typedefstructreader

charreader_num[10];

charreader_name[10];

intright;

BOborrow[Max];

structreader*next;

}RD;

BK*h_book;

RD*h_reader;

voidLogin();

intMenu();

voidInit();

voidInit_book();

voidMenu_select();

voidInsert_New_Book();

voidFind_Book();

voidadd_reader();

voidPrint_reader();

voidPrint_book();

voidBorrow_Book();

voidReturn_Book();

voidSave();

voidSave_Book();

voidSave_Reader();

voidLoad();

voidLoad_Reader();

voidLoad_Book();

voidLogin()

system("

);

printf("

\n\n\n\t\t***************************************\n"

\n\n\n\t\t\t欢迎使用图书管理系统\n"

\n\n\t\t本程序制作人学号:

\n\n\n\n\n\n\n"

\n\n\n\t\t按任意键进入系统..."

getch();

system("

}

intMenu()/*主菜单*/

{intdm;

\n\t\t图书管理系统主菜单\n"

=================================================\n"

*\t0----退出系统\n"

*\t1----采编入库\n"

*\t2----登记读者\n"

*\t3----借阅登记\n"

*\t4----还书管理\n"

*\t5----查询图书信息\n"

*\t6----查询读者信息\n"

请选择相应的代码:

"

for(;

;

{scanf("

%d"

&

dm);

//dm输入的数字

if(dm<

0||dm>

6)

\n错误!

请重新输入:

elsebreak;

returndm;

voidMenu_select()/*主菜单选择函数*/

switch(Menu())/*功能选择*/

{case0:

Save();

\n\n\t文件保存成功!

\n"

\n\n\t欢迎下次使用本系统!

exit(0);

case1:

Insert_New_Book();

break;

case2:

add_reader();

case3:

Borrow_Book();

case4:

Return_Book();

case5:

Print_book();

case6:

Print_reader();

default:

voidInit()/*初始化*/

BK*p0;

\n图书初始化开始,请输入图书信息..\n包括编号.书名.数量..\n"

p0=(BK*)malloc(sizeof(BK));

h_book=p0;

\n请输入图书信息:

图书编号:

/*输入图书编号(唯一)*/

scanf("

%s"

p0->

book_num);

图书名称:

/*输入图书名称*/

book_name);

图书作者:

/*输入图书作者*/

book_writer);

图书数量:

/*输入图书数量*/

p0->

book_kc);

book_xy=p0->

book_kc;

/*开始时图书现有量和库存量相等*/

next=NULL;

\n图书信息初始化完毕!

按任意键继续下一步操作..\n"

voidInsert_New_Book()/*新书入库*/

BK*p,*p0,*p1;

p=p

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1