c++课设图书管理系统文档格式.docx
- 文档编号:20715038
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:35
- 大小:67.01KB
c++课设图书管理系统文档格式.docx
《c++课设图书管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《c++课设图书管理系统文档格式.docx(35页珍藏版)》请在冰豆网上搜索。
可以进行查询图书、增加图书、删除图书信息、图书信息修改、显示全部图书信息等操作。
其中添加内容包括:
书名、ISBN编号、作者、出版商、出版日期、方便读者查看;
图书借还功能
应该说这是整个系统最主要的功能,借还时要输入编号已及读者编号
帮助
一个简单的操作指南,指导用户下一步该如何操作。
退出系统
在运行时将从文件载入信息。
运行程序后每一步都会有详细的提示,操作简便,大多数地方都考虑到防止用户出现误操作的情况,以提高程序的健壮性,可以放心使用!
三.程序运行平台
该程序是用VC++6.0制做的,使用MicrosoftVisualC++6.0运行该程序,具体操作是:
打开MicrosoftVisualC++6.0,菜单栏里点文件→打开工作区→找到“图书管理系统.dsw”这个文件→打开,或者在资源管理器中双击该文件,此时,VC++6.0会自动打开,并载入该系统相关资源,点击Run命令菜单或者或用快捷键Ctrl+F5运行该程序。
四.系统功能框架图
五.程序类说明
①有关图书信息的类
structBookInfo
{
charBookCode[6];
//图书编号
charBookName[30];
//图书名字
charBookAuthor[20];
//作者名
charBookPress[50];
//出版社
charBookPublicationDate[8];
//出版日期
charISBN[8];
//图书isbn号
charBookStatus;
//图书借阅状态‘0’未借出‘1’借出
charReaderCode[6];
//读者编号编号为‘0’为未借阅
charIsAvailable;
//图书是否有效,‘0’无效,‘1’,有效
};
voidAddBookInfo();
//增加图书
voidModifyBookInfo();
//修改图书
voidDelBookInfo();
//删除图书
intCountBook();
//获得图书记录数
intIsBookExist(char*);
//判断图书(编号)是否存在
voidShowBookInfo();
//显示图书清单
voidShowReaderInfo();
//显示读者清单
intIsBorrow(char*);
//判断是否在借
intIsBorrowed(char*);
//统计在借书的总数
voidBookBorrow();
//借书手续
voidBookReturn();
//还书手续
②有关读者信息的类
structReaderInfo
charReaderCode[6];
//读者编号
charReaderName[20];
//读者姓名
charSex[3];
//读者性别
charIsAvailable;
//读者是否有效,‘0’无效,‘1,’有效
voidAddReaderInfo();
//增加读者
voidModifyReaderInfo();
//修改读者
voidDelReaderInfo();
//删除读者
//显示读者清单
intCountReader();
//获得读者记录数
六.模块分析
1、读者信息:
下设子菜单,包括:
a.新增读者
b.修改读者
c.删除读者
d.读者查询
e.显示读者信息
f.返回上一层
(1)读者编号:
读者唯一的识别方式,所以不可以重复,长度小于六个字符。
(2)读者姓名:
长度小于20个字符。
(3)读者性别:
长度小于三个字符。
2、书库信息:
该部分内容最丰富,下设子菜单,包括
a.新书入库
b.删除
c.修改
d.返回上一层
链表的思路也跟读者信息一样,从头结点开始建,每当新增加一个类节点时,就把新增结点加到链表尾部,再让其中的next指向NULL空,这里没有对链表进行排序。
有关菜单的制作,就是先显示菜单,让用户输入选择,进行输入有效性检查,然后用switch来对不同的选择调用类中不同的函数。
3、借书/还书:
借书需要判断的条件不只是判断图书是否存在、图书是否借出、读者是否存在。
还书需要提供读者编号再判断图书是否已经借出。
十.程序源代码
#include<
iostream>
string.h>
stdlib.h>
fstream>
iomanip>
stdio.h>
usingnamespacestd;
#defineBOOKLENsizeof(structBookInfo)
#defineREADERLENsizeof(structReaderInfo)
//函数声明
voidWelcome();
intMainMenu();
voidSubMenu1();
intCreatSubMenu1();
voidSubMenu2();
intCreatSubMenu2();
voidSubMenu3();
intCreatSubMenu3();
voidSubMenu();
intCreatSubMenu4();
intIsReaderExist(char*);
//判断读者(编号)是否存在
voidSearchBook();
//图书查询
voidSearchReader();
//读者查询
intGetPosition(char*,structBookInfo*);
//修改图书信息,获得修改记录的位置
intGetRdPosition(char*,structReaderInfo*);
//修改读者信息,获得修改记录的位置
voidShowAReader(char*);
//显示指定编号的读者的信息
intInvalidBookPosition();
//查询第一条无效图书信息
intInvalidReaderPosition();
//查询第一条无效读者信息
//图书结构定义
//读者结构体
voidWelcome()
cout<
<
"
*********************************************************"
endl;
**********************图书信息借阅系统*******************"
**********************现有图书"
CountBook()<
册"
读者"
CountReader()<
人"
***************"
}
intMainMenu()
intm;
while
(1)
{
cout<
*****************欢迎使用图书管理系统***********************"
************************************************************"
*******************1.图书信息管理***************************"
*******************2.读者信息管理***************************"
*******************3.借书还书****************************"
*******************4.统计查询****************************"
*******************0.退出系统*****************************"
请选择0-4:
cin>
>
m;
if(m>
=0&
&
m<
=4)
break;
else
选择错误,请在0-4中选择"
}
returnm;
intCreatSubMenu1()
*********************图书信息管理*****************************"
**************************************************************"
*********************1.新增图书******************************"
*********************2.修改图书******************************"
*********************3.删除图书******************************"
*********************0.返回上一层********************************"
请选择0-3:
=3)
选择错误,请在0-3中选择"
intCreatSubMenu2()
*********************读者信息管理*****************************"
*********************1.新增读者******************************"
*********************2.修改读者******************************"
*********************3.删除读者******************************"
cin.ignore();
intCreatSubMenu3()
*********************图书流通*****************************"
**********************1.借书******************************"
**********************2.还书******************************"
请选择0-2:
=2)
选择错误,请在0-2中选择"
intCreatSubMenu4()
***********************统计查询****************************"
**********************1.图书清单***************************"
**********************2.读者清单***************************"
**********************3.图书查询****************************"
**********************4.读者查询****************************"
**********************0.返回上层*****************************"
intCountBook()//统计已有图书数量(有效图书)
structBookInfoBookTemp;
FILE*fp;
intcount=0;
if((fp=fopen("
bookinfo.dat"
"
rb"
))==NULL)
return0;
else
while(fread(&
BookTemp,BOOKLEN,1,fp))
if(BookTemp.IsAvailable=='
1'
)
count++;
fclose(fp);
returncount;
intCountReader()//统计已有读者人数(有效人数)
structReaderInfoReaderTemp;
ReaderTemp,READERLEN,1,fp))
if(ReaderTemp.IsAvailable=='
voidSubMenu1()//图书信息管理
intMenuId;
MenuId=CreatSubMenu1();
if(MenuId==0)
switch(MenuId)
{
case1:
AddBookInfo();
break;
case2:
ModifyBookInfo();
case3:
DelBookInfo();
case0:
MainMenu();
}
voidSubMenu2()//读者信息管理
MenuId=CreatSubMenu2();
AddReaderInfo();
ModifyReaderInfo();
DelReaderInfo();
}
voidSubMenu3()//图书借阅
MenuId=CreatSubMenu3();
BookBorrow();
BookReturn();
voidSubMenu4()//信息查询
MenuId=CreatSubMenu4();
ShowBookInfo();
ShowReaderInfo();
SearchReader();
case4:
SearchBook();
voidAddBookInfo()//新增图书记录
structBookInfoMyBook;
请输入图书编号"
cin>
MyBook.BookCode;
while(IsBookExist(MyBook.BookCode))
图书已存在,请重新输入"
请输入书名"
MyBook.BookName;
请输入作者"
MyBook.BookAuthor;
请输入出版
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 图书 管理 系统