大数据结构课程设计图书管理系统报告材料书.doc
《大数据结构课程设计图书管理系统报告材料书.doc》由会员分享,可在线阅读,更多相关《大数据结构课程设计图书管理系统报告材料书.doc(27页珍藏版)》请在课桌文档上搜索。
1、课题描述:本次数据结构课程设计内容是:设计一个计算机管理系统完成图书管理根本业务。随着社会的开展,技术的进步,各种管理业务越来越趋于自动化。而图书馆在日常运营中,面对大量书籍,读者信息以与两者间相互联系产生的借书还书信息,而人工记录的方法不仅效率低而且极容易出现错误,大大影响了图书馆的日常管理工作。图书管理系统就是为了解决人工管理图书的问题,实现图书馆图书自动化的管理。本系统需要实现图书根本信息管理的功能,具体涉与到新进图书根本信息的录入,图书根本信息的查询,借书人的根本信息的注册以与借书,还书等几项根本功能。一、 需求分析:图书管理系统将实现以下几个根本功能,根本要求为:1. 新进图书根本信
2、息的录入:当图书馆新引进一批新书时,图书管理员需要将这些图书的根本信息录入管理系统中,具体包括图书书号,书名,著作者,现存量和库存量。2. 图书根本信息的查询:读者可以根据自己的情况在本系统中查询图书的根本信息,从而便于自己借阅图书。3. 借阅图书:在借阅图书之前没有在本图书馆进展注册的读者,是不能够借阅图书的,因而在读者在借阅图书之前需要登记借阅者的书证号,以与归还日期,然后系统再进展改变现存量等相关操作。4. 归还图书:根据读者归还图书的日期,本系统会注销对借阅者的登记,然后进展改变该书的现存量操作。5. 退出:当读者在图书馆中完毕其业务时,如此会在系统的提示下退出操作。二、 总体结构设计
3、:1. 系统设计功能模块图2. 系统模块说明:图书入库模块:图书名称,作者,入库数量;查询库存模块:显示当前库存书的编号,书名与作者;借阅图书模块:输入所借阅图书的编号,如果存在如此会提示读者输入借书证号,提示借阅成功,如果图书不存在或者已借出,如此提示借阅失败;查询借阅模块:显示所借书人的借书证号,借阅书的书名,编号以与归还日期; 归还图书模块:输入借书证号和图书编号,进展还书操作。三、 各子模块设计:1. 定义main函数,并使图书馆存书初始化为空,建立主菜单栏,显示业务信息 定义图书结构#include#ifndef _DATA_STRUCT_H_#define _DATA_STRUCT
4、_H_ struct Book unsigned long BookID; /*图书编号*/ char BookName512; /*书名*/ char Writer512; /*作者*/ int CurrentNumber; /*现存量*/ Book *pNext; /*下一个图书信息*/;图3.1 main()函数流程图2定义GetInput函数,使得读者所输入数据的X围符合程序所定义的。开始Multiplex完毕图3.2 GetInput()函数流程图3定义ShowMainMenu()函数,进入图书管理系统,并显示主菜单界面图3.3 ShowMainMenu()函数流程图4定义putBo
5、okInLib函数,其功能为图书入库,输入图书信息,包括图书名称,图书作者与入库数量。图3.4 PutBookInLib()函数流程图5.定义QueryLib()函数,其功能为查询图书馆库存信息,查询图书编号,书名,作者以与当前库存数量。开始完毕图3.5 QueryBookLib()函数流程图6.定义BorrowBook()函数,实现读者借阅图书的功能,输入所借阅图书的编号,如果存在如此会提示读者输入借书证号,提示借阅成功,如果图书不存在或者已借出,如此提示借阅失败。开始MultiplexMultiplexMultiplexMultiplex完毕图3.6 BorrowBook()函数流程图7.
6、定义QueryBorrow()函数,实现读者查询自己的借阅情况功能,读者可清晰的看到自己所借阅的图书信息以与归还日期等。开始完毕图3.7 QueryBorrow()函数流程图8.定义ReturnBook函数,实现读者归还图书的功能。开始MultiplexMultiplexMultiplexMultiplex完毕图3.8 ReturnBook()函数流程图四、 编程实现:#include#ifndef _DATA_STRUCT_H_#define _DATA_STRUCT_H_/*图书结构*/struct Book unsigned long BookID;/*图书编号*/ char BookN
7、ame512;/*书名*/ char Writer512;/*作者*/ int CurrentNumber;/*现存量*/ Book *pNext;/*下一个图书信息*/;/*图书索引结构*/struct Index unsigned long BookID;/*图书编号*/ Index *pNext;/*下一个索引指针*/;/*借阅信息结构*/struct Borrow unsigned long BookID;/*借阅图书编号*/ char BookName512;/*书名*/ unsigned long StuID;/*图书证号*/ char ReturnTime512;/*归还日期*/
8、 Borrow *pNext;/*下一个借阅信息*/;#endif/*_DATA_STRUCT_H_*/ BookManage.cpp : 定义控制台应用程序的入口点。/#include #include #include #include void GetInput(char *pInOutStr,int StrLen,bool OnlyGetNumber = false);/*显示主菜单 并返回选择*/int ShowMainMenu();/*图书入库操作,传入参数为图书列表头指针的指针和索引信息的头指针的指针,因为在此函数内部可能会改变头指针的值*/void PutBookInLib(B
9、ook *pHead,Index *pIndex);/*查询图书馆库存,查询不改变数据,故传入指针即可*/void QueryBookLib(Book *pHead);/*借阅图书*/void BorrowBook(Borrow *pBorrow,Book *pHead);/*查询借阅*/void QueryBorrow(Borrow *pBorrow);/*归还图书*/void ReturnBook(Borrow *pBorrow,Book *pHead);/*释放图书链表与索引链表与借阅信息链表*/void DeleteBookList(Book *pHead);void DeleteIn
10、dexList(Index *pIndex);void DeleteBorrowList(Borrow *pBorrow);int main() /*图书列表头指针*/ Book *pBookHead = NULL; /*图书索引头指针*/ Index *pIndexHead = NULL; /*借阅信息头指针*/ Borrow *pBorrowHead = NULL; /*用来保存当前用户的输入*/ int ChoosedNum = -1; while ( true ) ChoosedNum = ShowMainMenu(); switch(ChoosedNum) case 0 :/*退出*
11、/ return 0; break; case 1:/*图书入库*/ PutBookInLib(&pBookHead,&pIndexHead); break; case 2:/*查询库存*/ QueryBookLib(pBookHead); printf(按回车键继续.); fflush(stdin); getchar(); system(cls); break; case 3:/*借阅图书*/ QueryBookLib(pBookHead); BorrowBook(&pBorrowHead,pBookHead); break; case 4:/*查询借阅*/ QueryBorrow(pBor
12、rowHead); printf(按回车键继续.); fflush(stdin); getchar(); system(cls); break; case 5:/*归还图书*/ QueryBorrow(pBorrowHead); ReturnBook(&pBorrowHead,pBookHead); break; DeleteBookList(&pBookHead); DeleteIndexList(&pIndexHead); DeleteBorrowList(&pBorrowHead); fflush(stdin); getchar(); return 0;/*获取输入字符串*/void G
13、etInput(char *pInOutStr,int StrLen,bool OnlyGetNumber) memset(pInOutStr,0x0,StrLen); fflush(stdin); int Count = 0; while ( true ) char TmpC = 0; fread(&TmpC,1,1,stdin); if ( 10 = TmpC ) break; if ( OnlyGetNumber & TmpC = 0 & TmpC = 9 ) pInOutStrCount = TmpC; Count+; else pInOutStrCount = TmpC; Count
14、+; /*显示主菜单 并返回选择*/int ShowMainMenu() char InPutStr1024;NO_INPUT: printf(nnn); printf(*n); printf(* 图书管理系统 *n); printf(*n); printf(n); printf(请选择:n); printf(t1.图书入库n); printf(t2.查询库存n); printf(t3.借阅图书n); printf(t4.查询借阅n); printf(t5.归还图书n); printf(t0.退出n); printf(n); printf(t输入 : ); GetInput(InPutStr,
15、1024,true); if ( strlen(InPutStr) pNext != NULL ) pWork = pWork-pNext; BookID = pWork-BookID + 1; Book *pTmpNewBook = (Book *)(malloc(sizeof(Book); memset(pTmpNewBook,0x0,sizeof(Book); Index *pTmpIndex = (Index *)(malloc(sizeof(Index); memset(pTmpIndex,0x0,sizeof(Index); pTmpNewBook-BookID = BookID;
16、 pTmpIndex-BookID = BookID; system(cls); printf(输入图书名称 : ); GetInput(InPutStr,1024); strcpy(pTmpNewBook-BookName,InPutStr); system(cls); printf(n,pTmpNewBook-BookName); printf(图书作者 : ); GetInput(InPutStr,1024); strcpy(pTmpNewBook-Writer,InPutStr); system(cls); printf(n,pTmpNewBook-BookName); printf(
17、%sn,pTmpNewBook-Writer); printf(入库数量 : ); GetInput(InPutStr,1024,true); pTmpNewBook-CurrentNumber = atoi(InPutStr); if ( pTmpNewBook-CurrentNumber BookName,pTmpNewBook-BookName) = 0 & strcmp(pWork-Writer,pTmpNewBook-Writer) = 0 ) pWork-CurrentNumber += pTmpNewBook-CurrentNumber; return; pWork = pWor
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 图书 管理 系统 报告 材料
链接地址:https://www.desk33.com/p-16218.html