简易图书管理系统设计文档
———————————————————————————————— 作者: ———————————————————————————————— 日期:
2
简易图书管理系统
一、功能描述
该系统运行后主菜单界面如下:
系统可实现图书查询、借书、还书、书目浏览、图书管理等功能。在主菜单状态下输入“Q”或“q”,则系统运行结束。 一、主要数据结构:
1、图书类型:类数组
Class Book{
char Name[80]; //书名 char Auther[80]; //作者
int amount; //该书在库数量 };
Book booklist[20]; //假定不会超过20种图书 2、书库文件:用文本文件保存书目信息
其中第一个数据为一个整数,是图书的种类数。此后的数据为书目信息,每本书包括书名、作者、在库数量。
程序运行之前可在工程文件夹下用记事本建立一个文本文件,其中写入数据0。以此作为书库文件的初始状态。
3
二、主要功能模块
1、查询模块
提示输入待查询书名,搜索到匹配项后在屏幕上显示书名、作者、该书在库数量(有几本书);若库中无匹配书目,则屏幕提示“书库无此书!”。查寻范围为从文件中读出的结构体数组。
2、浏览模块
在屏幕上显示目前书库信息,即结构体数组信息。若库中读出的图书种类数为0,说明还没有图书,此时提示“库中无图书!”。
3、借书模块
从库中读出信息,如果图书种类数=0,表明库中无图书,则提示“库中无图书,暂不能借阅!”,否则提示输入待借图书名,如未搜索到匹配项,提示“库中无此书!”,如果搜索到的图书在库数量已经为0,则提示“抱歉,该书全部借出!”,否则提示“借阅成功”,同时将该书在库数量-1。并将图书信息写入文件。
4、还书模块
从库中读出信息,如果图书种类数=0,库中无图书,提示“库中无图书,暂不能还书!”,否则提示输入待还书名,如未搜索到匹配项提示“库中无此书!”,否则提示“还书成功”,同时该书在库数量+1。并将信息写入文件。
5、管理模块
该模块可向库中添加图书。有权限者方可进入管理,运行后首先提示输入口令,可以有三次输入机会,若口令不对提示“抱歉,无权限,按回车返回主菜单”。否则可以向书库中添加图书。系统提示“输入添加图书的书名、作者、在库数量:”,可一次添加多种图书。管理模块的口令自行预定。修改信息后写入文件。
二、算法提示:
1、数据类型及变量定义
Class Book{ //表示图书的类 char Name[80]; //书名 char Auther[80]; //作者
4
int amount; //该书在库数量 };
Book booklist[20]; //结构体数组,假定不会超过20种图书
书库图书信息:文本文件建立,初始可用记事本建立,只有一个数据0,表示空库。
2、主函数模块算法 void main(){
for(; ;){ //系统连续工作至退出为止 //调用显示主菜单模块; //提取输入的选择字符ch;
//根据字符ch值选择调用查询模块、或借阅模块、或还书模块、或
浏览//模块、或管理模块、或退出
}
3、查询模块算法 void SearchBook(){ //将书库信息读入数组
for(;;){ //可连续查询多次 }
4、借阅模块算法 void BorrowBook(){ //读出书库信息
}
MainMenu(); //显示主菜单
//输入待查询书名bookName; //在数组中查找匹配的书名
cout<<\继续查询吗?按n键退出, 回车键继续查询:\cin.get(ch);
if(ch=='n'||ch=='N') 退出循环 if(选择退出) 退出循环; }
//如果找到输出该书所有信息,否则cout< cin.get(ch); //吸收以前输入项的回车符 5