C++课程设计图书管理系统.docx
- 文档编号:2838135
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:35
- 大小:905.37KB
C++课程设计图书管理系统.docx
《C++课程设计图书管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计图书管理系统.docx(35页珍藏版)》请在冰豆网上搜索。
C++课程设计图书管理系统
C++高级程序设计语言
程序设计报告
题目:
图书管理系统
图书管理系统
一、课题内容和要求
【问题描述】
该系统要求建立一个简单的图书管理系统,并具有排序、查找、计算、插入、计算、显示等功能。
通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些算法思想的应用。
【功能要求】
(1)图书数据结构:
登录号、书名、作者名、分类号、出版单位、出版时间、价格等。
(2)需要实现的功能
1)用户根据口令进入系统
2)图书信息用文件保存,程序运行时从文件读入数据,程序结束前将数据保存在文件中;
3)管理员能实现图书信息录入
4)读者能实现图书信息的浏览
5)排序功能:
(至少一种排序方式,例如出版时间排序)
6)按书名查询和按作者名查询
7)图书信息的删除与修改
8)学生可自动增加新功能模块(视情况可另外加分)
(3)界面友好,输入信息符合逻辑如登录号不为负数,日期输入符合一定的格式等。
【程序设计的具体说明】
数据结构和函数自行定义,要求清晰明确。
2、需求分析
图书管理系统面向两类人,一类是普通读者,另一类是管理员;
(1)读者:
首先读者要通过卡号和密码的验证才能进入系统;
1、图书的查找:
读者可以通过图书的书号、书名、作者名或者出版社查找图书信息,当查找成功时输出图书的信息,包括书号,书名,作者名,出版社,出版时间以及此书是否在架,当查找失败时返回查找失败信息。
2、图书的借阅:
当读者查找到想要借阅的图书后,输入图书书号进行借书,返回借阅成功的信息。
输入无效的书号或者借阅已经借出去的图书则不能借阅成功。
3、图书的归还:
输入要归还的书的书号进行还书,返回归还成功的信息。
输入
无效的书号或者归还还未被借出的图书则归还不成功。
4、查询自己的借书信息:
可以查看自己借了那些书,输出这些书的编号。
(2)管理员:
管理员要先通过密码验证才能进入系统;
1、图书的借阅:
管理员可以通过输入读者的卡号和图书的编号帮读者借书,只有当这两个信息都正确时才能借阅成功,否则输出借阅失败的信息。
2、图书的归还:
管理员可以通过输入读者的卡号和图书的编号帮读者还书,只有当这两个信息都正确时才能归还成功,否则输出归还失败的信息。
3、图书的维护:
包括图书的新增、删除、查找、显示、以及全删;
、图书的新增:
首先给图书编号,在给图书编号之前先判断是否有图书为该编号,如果有则编号不成功重新输入编号,如果没有则编号成功,继续添加图书的其他信息,包括书名、作者、出版社、出版时间、价格等信息。
、图书的删除:
输入图书的编号,删除该编号图书的所有信息,并提示删除成功信息,若输入无效的编号则提示删除不成功。
、图书的查找:
输入要查找图书的编号,输出该编号图书的所有信息,
若输入无效的编号则提示查找失败。
、图书的显示:
按照出版时间的先后顺序输出图书馆所有书籍的信息。
、图书的全删:
删除图书馆所有书籍的所有信息。
4、读者的维护:
包括读者的新增、更改、删除、查找、显示、以及全删;
、读者的新增:
先给读者编号,如果该编号已经有人,则提示错误,否则继续输入读者的其他信息,包括读者的名字和初始密码输出添加成功提示。
、读者的更改:
输入读者的编号,更改读者的名字,若输入的编号无效则更该失败。
、读者的删除:
输入要删除读者的编号,判断该编号是否有人,有则删除该读者的所有信息,没有则提示删除失败。
、读者的查找:
输入要查找的读者编号,编号正确则输出读者的信息,否则查找失败。
、读者的显示:
显示图书馆里所有读者的信息。
、读者的删除:
删除图书馆里所有读者的信息。
3、概要设计
12
主菜单
读者登录模块图
图书信息管理模块流程图
图书信息查找流程图
借阅信息查询模块流程图
图书归还模块流程图
图书借阅模块流程图
4、源程序代码
#include
#include
#include
#include
#include
usingnamespacestd;
constintMaxbor=10;//每位读者最多借10本书
classReader//读者类
{
inttag;
intnum;
charmima[6];
charname[10];
intborbook[Maxbor];
public:
Reader();
intgetnum();
intgettag();
char*getname();
char*getmima();
voidsetname(charna[]);
voiddelreader();
voidaddreader(intn,char*na,char*mi);
voidborrowbook(intbookid);
intretbook(intbookid);
voiddisp();
};
Reader:
:
reader(){}
char*Reader:
:
getname(){returnname;}
intReader:
:
gettag(){returntag;}//获取删除标记
intReader:
:
getnum(){returnnum;}//获取读者编号
char*Reader:
:
getmima(){returnmima;}//获取读者的密码
voidReader:
:
setname(charna[])//设置姓名
{
strcpy(name,na);
}
voidReader:
:
delreader(){tag=1;}//删除读者
voidReader:
:
addreader(intn,char*na,char*mi)//增加读者
{
tag=0;
num=n;
strcpy(name,na);
strcpy(mima,mi);
for(inti=0;i borbook[i]=0; } voidReader: : borrowbook(intbookid)//借书操作 { for(inti=0;i { if(borbook[i]==0) { borbook[i]=bookid; return; } } } intReader: : retbook(intbookid)//还书操作 { for(inti=0;i { if(borbook[i]==bookid) { borbook[i]=0; return1; } } return0; } voidReader: : disp()//输出读者信息 { cout< cout< ["; for(inti=0;i if(borbook[i]! =0) cout< cout<<"]"< } classBook//图书类 { inttag; intnum; charname[10]; charwriter[10]; charconcem[30]; charTime[10]; floatprice; intonshelf; public: Book(); char*getname(); intgetnum(); intgetonshelf(); char*getwriter(); char*gettime(); char*getconcem(); floatgetprice(); intgettag(); voidgetTime(chartime[]); voidsetname(charna[]); voiddelbook(); voidaddbook(intn,char*na,char*wri,char*con,char*tm,floatpr);//增加图书 intborrowbook();//借书操作 voidretbook();//还书操作 voiddisp();//输出图书 };Book: : Book(){} char*Book: : getname(){returnname;}//获取姓名 intBook: : getonshelf(){returnonshelf;} intBook: : getnum(){returnnum;}//获取图书编号 char*Book: : getwriter(){returnwriter;}//获取书籍作者 char*Book: : getconcem(){returnconcem;}//获取书籍出版社 char*Book: : gettime(){returnTime;} floatBook: : getprice(){returnprice;}//获取书籍价格 intBook: : gettag(){returntag;}//获取删除标记 voidBook: : setname(charna[])//设置书名 { strcpy(name,na); } voidBook: : getTime(chartime[]) { strcpy(Time,time); } voidBook: : delbook(){tag=1;}//删除图书 voidBook: : addbook(intn,char*na,char*wri,char*con,char*tm,floatpr)//增加图书 { tag=0; num=n; strcpy(name,na); strcpy(writer,wri); strcpy(concem,con); strcpy(Time,tm); price=pr; onshelf=1; } intBook: : borrowbook()//借书操作 { if(onshelf==1) { onshelf=0; return1; } return0; } voidBook: : retbook()//还书操作 { onshelf=1; } voidBook: : disp()//输出图书 { cout< "在架": "已借")< } classBDatabase//图书库类 { inttop; Bookbook[Maxb]; public: BDatabase(); voidclear(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 图书 管理 系统