图书馆管理系统程序.docx

上传人:汽*** 文档编号:559046136 上传时间:2022-09-28 格式:DOCX 页数:19 大小:242.29KB
返回 下载 相关 举报
图书馆管理系统程序.docx_第1页
第1页 / 共19页
图书馆管理系统程序.docx_第2页
第2页 / 共19页
图书馆管理系统程序.docx_第3页
第3页 / 共19页
图书馆管理系统程序.docx_第4页
第4页 / 共19页
图书馆管理系统程序.docx_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《图书馆管理系统程序.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统程序.docx(19页珍藏版)》请在金锄头文库上搜索。

1、程序设计实践报告学号;题目来源及序号难度等级一、题目说明:由教师给出题目13、图书管理系统查找应用)问题描述图书管理基本业务活动包括:对一本书的采编入库、清除库存、借阅和归还等等。试设计一个图书管理系统,将上述业务活动借助于计算机系统完成。实现提示1、每种书的登记内容至少包括书号、书名、著者、现存量和总库存量等五项。2、由于图书管理的基本业务活动都是通过书号(即关键字)进行的,所以要用对书号索引,以获得高效率。3、系统应实现的基本功能有:4 采编入库:新购入一种书,经分类和确定书号之后登记到图书帐目中去。如果这两种书在帐中已有,则只将总库存量增加.5 清除库存:某种书已无保留价值,将它从图书帐

2、目中注销。6 借阅:如果一种书的现存量大于零,则借出一本,登记借阅者的图书证号和归还期限7 归还:注销对借阅者的登记,改变该书的现存量。8 显示:以凹入表的形式显示B树。这个操作是为了调试和维护的目的而设置的。二、问题分析及求解基本思路说明:给出题目的分析及初步的解题思路。要求简洁、易懂一、概要设计主要实现系统的功能:a. 图书初始化:输入图书的一些信息,编号、作者、书名、数量,有一定的库存。b. 新书入库:新书采编入库,输入编号后有次数只需输入数量,没有则继续输入c. 添加读者信息:读者信息初始化,输入读书证号和姓名后才能进行借书还书d. 借书模块: 读者输入读书证号,证号存在输入要借的图书

3、编号,不能借同一本书,如果借书数量以达到最大也不能借书。e. 还书模块:归还已借的图书,要先输入读者书证号,书证号存在继续输入要还的图书编号,图书编号存在并且借来此书,归还成功。f. 查询图书信息g. 查询读者信息:可查询读者姓名书证号,借了几本书,都是什么书和还书日期,还可以借几本书。h。退出:退出读书管理系统并保存读者和图书信息.设计的的初步思路:主要采取定义结构体,定义两个结构体分别为图书结构体和阅读者的结构体,将其数据存储到字符串中,然后逐个构建单链表,将其数据存储到单链表结点的数据域中,然后进行图书文件的读取或者可以选择图书的初始化,输入图书的编号,作者,书名,数量和一定的库存和现存

4、量。新书入库创造新结点,定义指针,此处分两种情况,若图书编号存在,则直接进库,只须输入书的数量,通过字符串的比较来判定,同理阅读者的添加是增加阅读者的单链表的结点,同时一个读者规定只能借阅5本书存储到数据域的字符串中。分别定义还书和借书的函数,用字符串的比较功能判断读者借书不能同一种书借两次,同时采编新书要求如果书号相同只需要直接输入采编的本数和如果没有书时会返回等待新书到来,包括索书号以及读者的学号输入出现不存在会返回错误,还书函数也是通过字符串中存储的库存量和现存量增加,同时读者借书数量righty少。最后将图书的单链表和阅读者的单链表读写到文件中.三、问题求解的整体框架结构说明:围绕求解

5、目标给出具体的模块。要求简洁、易懂首先定义图书,阅读者,借书结构体;typedef struct book;typedef struct borrow;typedef struct reader;V定义菜单函数,包括图书借阅的各种功能,包括:1采编入库图书 void Init_book();2登记读者 void add_reader();3借阅登记图书 void Borrow_Book();4还书管理 void Return_Book();5查询读者信息 void Print一reade通过读者文件读取读者信息单链表6查询图书信息void Print_book(通过 图书文件读取图书单链表的信

6、息0退出系统 void Print_book();3增添图书录入流程图:4还书管理流程图:strcpy(p1-borrowp1-right+.borrow_book_num,bo_num);strcpy(p1-borrowp1-right-1.limit_date,lim_date);p0-book_xy-;p0-book_kc通 过读者结点存储借书结构体信息。请输入正确细信息,或图书已满或已空*借阅完成打印读者图书信息:四、主要算法说明:要求用自然语言描述算法。要求简洁、易懂(1)首先首先定义图书,阅读者,借书结构体;typedef struct book;typedef struct bo

7、rrow;typedef s定义c好各ader;种说需要的数据:typedef struct book char book_num10;/图书编号char book_name20; /图书名称char book_writr10;/图书的作者int book_x;y /现有量int book_kc;存struct book? next; BK ;typedef struct borrowchar borrow_book_num 10; /借书的总数char limit_dat8;/还书日期BO;typedef struct reader(char reader_nuifi 10;char rea

8、der_name 10;int righ读者所借的书的本数BO borrowMax ;struct read&rnext; RD ;(1 ) 定义实现功能所需要的函数,包括图书的登记,读者的登记,图书的录用,以及读者的借阅,图书,读者信息的保存和读音等功能。intMenu();void Init;(void Logi();void Init_bo(k);void Insert_New_Boo(k );void Menu_select;()void Find_Book();void add_reade)r(;void Print_reade;r()void Print_book;()void B

9、orrow_Book();void Return_Book();void Save。void Save_Book ();void Save_Reader ()void Load();void Load-Reader;)void Load_Book ();void Login()(3)通过字符串存储读者和图书的信息,然后进行图书文件的读取或者可以选择图书的初始化,输入图书的编号,作者,书名,数量和一定的库存和现存量.新书入库创造新结点,定义指针,此处分两种情况,若图书编号存在,则直接进库,只须输入书的数量,通过字符串的比较来判定,同理阅读者的添加是增加阅读者的单链表的结点,同时一个读者规定只能借

10、阅5本书存储到数据域的字符串中。分别定义还书和借书的函数,用字符串的比较功能判断读者借书不能同一种书借两次,同时采编新书要求如果书号相同只需要直接输入采编的本数和如果没有书时会返回等待新书到来,包括索书号以及读者的学号输入出现不存在会返回错误,还书函数也是通过字符串中存储的库存量和现存量增加,同时读者借书数量righ减少.最后将图书的单链表和阅读者的单链表读写到文件中。void Insert_New_Book()/* 新书入库*/ BK *p ,* p0,*p1;p=p1=h_book;printf(新i书入库模块。n);printf”n请输入图书信息.包括书号.书名。数量。.n);p0=(B

11、K *)malloc( sizeoff BK);printf 图书编号:);scanf(%s”,0book_num );while ( strcmp ( p0book_num,p1-book_num )! =0&p1-next!=NULL)p1=p1next;if(strcmp(p0-)ook_num , p1-book_num )=0) /此处分两种情况,若图书编号存在,则直接进库,只须输入书的数量*/ printf w n此编号图书已存在!直接入库! n)printf ”图书数量:);scanf(”d” &p0book_kc);p1-book_kc+=p0 book_kc;p1-book_

12、xy+=p0book_kc; else printf图书名称:);scanf(”s”,p0-book_name);printf 图书作者:);scanf(”s”,p0-book_writer);printf (图书数量:);scanf(” %d, &p0 book_kc); /库存数量while(pnext)( p=pnext; if(h_book=NULL ) h_book=p0;else next=p0;p0 next=NULL ;p0一book_xy=p0-book_kc;)printf (n新书入库完毕!按任意键继续下一步操作。.n;getch();system(cls”)void a

13、dd_reader ) /添加读者 * /( RD * p0;int ;iprintf n读者初始化开始,请输入读者信息.包括书证号。姓名。.n );p0=(RD *)malloc(sizeo(f RD) );h_reader=p0;printf (n请输入读者的信息:俨);printf读者书证号:)scanf(%s, p0reader_num);printf读者姓名:);scanf(”s”,p0reader_name);p0right=0for(i=;0 iMax;i+ )strcp( p0-borrowi.borrow_book_num,0”)strcpy(p borrowij limit

14、_da,e”0;p0next=NULL ;printf”n读者信息初始化完毕!按任意键继续下一步操作。.n );getch();system(”cls) void Borrow_Book () * 借书模块*/ BK *p0; RD *p1;char bo_num10 ,rea_num10 lim_date8;int i;p0=h_book; p1=h_reader;printf” n借书模块.n);printf”n请输入借书的读者书证号:);scanf(”s”,rea_numwhile(p next! =NULL& &strcmp (rea_num,p1-reader_num! =0 )p1=p1-next;if(p1-next=NULL&strcmp(rea_num, p1reader_num)!=) printf”n此读者编号不存在!按任意键返回。侦,);goto END; )printf(请1输入你要借的书的编号:);scanf ( % s, bo_num );while ( strcmp ( bo_num,p0-

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号