C++课程设计图书管理系统.docx

上传人:b****5 文档编号:2838135 上传时间:2022-11-15 格式:DOCX 页数:35 大小:905.37KB
下载 相关 举报
C++课程设计图书管理系统.docx_第1页
第1页 / 共35页
C++课程设计图书管理系统.docx_第2页
第2页 / 共35页
C++课程设计图书管理系统.docx_第3页
第3页 / 共35页
C++课程设计图书管理系统.docx_第4页
第4页 / 共35页
C++课程设计图书管理系统.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

C++课程设计图书管理系统.docx

《C++课程设计图书管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计图书管理系统.docx(35页珍藏版)》请在冰豆网上搜索。

C++课程设计图书管理系统.docx

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(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1