图书管理系统实现代码c++语言.docx

上传人:b****6 文档编号:6999697 上传时间:2023-01-15 格式:DOCX 页数:26 大小:20.21KB
下载 相关 举报
图书管理系统实现代码c++语言.docx_第1页
第1页 / 共26页
图书管理系统实现代码c++语言.docx_第2页
第2页 / 共26页
图书管理系统实现代码c++语言.docx_第3页
第3页 / 共26页
图书管理系统实现代码c++语言.docx_第4页
第4页 / 共26页
图书管理系统实现代码c++语言.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

图书管理系统实现代码c++语言.docx

《图书管理系统实现代码c++语言.docx》由会员分享,可在线阅读,更多相关《图书管理系统实现代码c++语言.docx(26页珍藏版)》请在冰豆网上搜索。

图书管理系统实现代码c++语言.docx

图书管理系统实现代码c++语言

图书管理系统代码(供大家参考)

/********************************************************************************************************************

*Name:

Bookmanage.h      

*Author:

彭天越         

*Description:

Bookmanage类的声明,用来实现管理图书的相关功能

*Date:

 2012-4-03~2012-4-12

*Copyright:

HNSUniversity

*********************************************************************************************************************/

#pragmaonce

#include

#include

#include"Book.h"

usingnamespacestd;

classBookmanage

{

private:

vectorbooks;/*****************************************************声明一个存放Book类的向量,用于数据操作*/

intcount;

public:

Bookmanage(void);

voidaddBooks();/********************************************************************************图书的添加函数*/

voidfindBook();

voidlendbook();

voidreturnbook();

voidchangbook();/**************************************************************************修改书籍的相关信息*/

~Bookmanage(void);

};

/*******************************************************************************************************************

*Name:

Book.h        

*Author:

彭天越         

*Description:

Book类的定义

*Date:

 2012-4-02~2012-4-10

*Copyright:

HNSUniversity

*******************************************************************************************************************/

#include"Book.h"

#include

#include

usingnamespacestd;

Book:

:

Book(stringnewname,stringnewnum,stringnewwri,stringnewpub,intstate)/*******************构造函数重载的定义*/

{

BookName=newname;

Booknum=newnum;

Writer=newwri;

Publisher=newpub;

Bookstate=state;

}

voidBook:

:

displayInfo()const

{

cout<<"图书的名字是\t"<

cout<<"图书的书号是\t"<

cout<<"图书的作者\t"<

cout<<"图书的出版社\t"<

if(Bookstate==0)

{

cout<<"在馆"<

}

else

{cout<<"已借出"<

}

cin.get();

}

voidBook:

:

setname(stringnewname)

{

BookName=newname;

}

voidBook:

:

setnum(stringnewnum)

{

Booknum=newnum;

}

voidBook:

:

setwriter(stringnewwri)

{

Writer=newwri;

}

voidBook:

:

setpub(stringnewpub)

{

Publisher=newpub;

}

stringBook:

:

getname()

{

returnBookName;

}

stringBook:

:

getnum()

{

returnBooknum;

}

stringBook:

:

getwriter()

{

returnWriter;

}

stringBook:

:

getpub()

{

returnPublisher;

}

voidBook:

:

setstate(intstate)

{

Bookstate=state;

}

voidBook:

:

Borrowbooks()

{

Bookstate=LENDSTATUE;

}

voidBook:

:

returnbooks()

{

Bookstate=NORMALSTATUE;

}

intBook:

:

getstate()

{

returnBookstate;

}

Book:

:

~Book(void)

{

}

/********************************************************************************************************************

*Name:

Bookmanage.h      

*Author:

彭天越         

*Description:

Bookmanage类的声明,用来实现管理图书的相关功能

*Date:

 2012-4-03~2012-4-12

*Copyright:

HNSUniversity

*********************************************************************************************************************/

#pragmaonce

#include

#include

#include"Book.h"

usingnamespacestd;

classBookmanage

{

private:

vectorbooks;/*****************************************************声明一个存放Book类的向量,用于数据操作*/

intcount;

public:

Bookmanage(void);

voidaddBooks();/********************************************************************************图书的添加函数*/

voidfindBook();

voidlendbook();

voidreturnbook();

voidchangbook();/**************************************************************************修改书籍的相关信息*/

~Bookmanage(void);

};

/************************************************************************************************************************

*Name:

Bookmanage.cpp       

*Author:

彭天越         

*Description:

Bookmanage类的声明,用来实现管理图书的相关功能

*Date:

 2012-4-03~2012-4-7,2012-5-28进行修改添加tag

*Copyright:

HNSUniversity

*************************************************************************************************************************/

#include"Bookmanage.h"

#include"Book.h"

#include

#include

#include

usingnamespacestd;

/**************************************************实现将books.txt文本文件中的book读取到vector向量中,以便对图书的相关操作*/

Bookmanage:

:

Bookmanage(void)

{

count=0;

ifstreamfin("books.txt");

while(true)

{

stringname;

stringnumber;

stringwriter;

stringpublisher;

intstate;

if(fin.eof())break;

fin>>name>>number>>writer>>publisher>>state;

if(name!

="")

{

Bookbook(name,number,writer,publisher,state);

books.push_back(book);

count++;/******************************************************************用来获得文件中所存放的book的数目*/

}

}

fin.close();

}

voidBookmanage:

:

addBooks()

{

stringname;

stringnumber;

stringwriter;

stringpublisher;

cout<<"\t*********************请输入图书的书名*********************"<

cin>>name;

cin.get();

cout<<"\t*********************请输入图书的书号ISBN*****************"<

cin>>number;

cin.get();

cout<<"\t*********************请输入图书的作者*********************"<

cin>>writer;

cin.get();

cout<<"\t*********************请输入图书的出版社*******************"<

cin>>publisher;

cin.get();

cout<<"\t**********************确定输入的信息是否正确,Y/N*********"<

chark;

cin>>k;

if(k=='Y')

{

Bookbook(name,number,writer,publisher,0);

books.push_back(book);/********************************************************************将book存放push_back到books向量中*/

count++;

cout<<"\t*******添加图书成功,此本书为图书馆中的第"<

}

else

cout<<"\t*****************************添加图书失败**************************"<

}

/*******************************************************************************************************实现查找图书的功能*/

voidBookmanage:

:

findBook()

{

charchoice;

stringwant;

inti;

inttag;/***************************************************************************************标记以便确认是否查找到图书*/

cout<<"\t*********************选择您要查找图书的方式*********************"

<

\t书名\tb:

\tISBM\tc:

\t书名作者\td:

\t出版社"<

cin>>choice;

cin.get();

switch(choice)

{

case'a':

cout<<"\t*********************请输入图书的书名*********************"<

cin>>want;

cin.get();

for(i=tag=0;i

{

if(books.at(i).getname()==want)

{

tag=1;/**********************************************************************当图书馆中存在图书是讲tag赋值为1*/

if(books.at(i).getstate()==0)

{

books.at(i).displayInfo();

cout<<"\t**********很高兴您所查找的图书在图书库中!

**************"<

"\t*********为图书库中的第"<

********************"<

"\t*********请记住此本图书的位置以方便您的借阅*************"<

system("pause");

}

else

cout<<"\t***************很抱歉您所查找的图书已经不在图书馆了!

***********"<

}

}

if(tag==0)/****************************************************************如果图书馆中原本就不存在查找的图书的tag是0*/

{

cout<<"\t***************很抱歉您所查找的图书不存在!

***************"<

system("pause");

}

break;

case'b':

cout<<"\t*********************请输入图书的书号ISBN*****************"<

cin>>want;

cin.get();

for(inti=tag=0;i

{

if(books.at(i).getnum()==want)

{

tag=1;

if(books.at(i).getstate()==0)

{

books.at(i).displayInfo();

cout<<"\t*********很高兴您所查找的图书在图书库中!

**************"<

"\t*********为图书库中的第"<

********************"<

"\t*********请记住此本图书的位置以方便您的借阅************"<

system("pause");

}

else

cout<<"\t***************很抱歉您所查找的图书已经不在图书馆了!

***********"<

}

}

if(tag==0)

{

cout<<"\t***************很抱歉您所查找的图书不存在!

***************"<

system("pause");

}

break;

case'c':

cout<<"\t*********************请输入图书的作者\t*******************"<

cin>>want;

cin.get();

for(inti=tag=0;i

{

if(books.at(i).getwriter()==want)

{

tag=1;

if(books.at(i).getstate()==0)

{

books.at(i).displayInfo();

cout<<"\t*********很高兴您所查找的图书在图书库中!

**************"<

"\t*********为图书库中的第"<

********************"<

"\t*********请记住此本图书的位置以方便您的借阅************"<

system("pause");

}

else

cout<<"\t***************很抱歉您所查找的图书已经不在图书馆了!

***********"<

}

}

if(tag==0)

{

cout<<"\t***************很抱歉您所查找的图书不存在!

***************"<

system("pause");

}

break;

case'd':

cout<<"\t*********************请输入图书的出版社\t*****************"<

cin>>want;

cin.get();

for(inti=tag=0;i

{

if(books.at(i).getpub()==want)

{

tag=1;

if(books.at(i).getstate()==0)

{

books.at(i).displayInfo();

cout<<"\t*********很高兴您所查找的图书在图书库中!

**************"<

"\t*********为图书库中的第"<

********************"<

"\t*********请记住此本图书的位置以方便您的借阅************"<

system("pause");

}

else

cout<<"\t***************很抱歉您所查找的图书已经不在图书馆了!

***********"<

}

}

if(tag==0)

{

cout<<"\t***************很抱歉您所查找的图书不存在!

***************"<

system("pause");

}

break;

default:

cout<<"\t******************************%d为非法选项!

****************\n"<

system("pause");

}

}

/***********************************************************************************************************实现图书的借出*/

voidBookmanage:

:

lendbook()

{

inti=0;

cout<<"\t*********请输入您需要借阅的图书的编号********************"<

<<"\t*********即为第几本书,比如2***************************"<

cin>>i;

cin.get();

if(i<=count)

{

Book&temp=books.at(i-1);

temp.displayInfo();

if(temp.getstate()==0)

{

cout<<"\t************是否为你想要的图书,确定是否借阅Y/N*******"<

charc;

cin>>c;

if(c=='Y')

{

temp.Borrowbooks();

cout<<"\t*************恭喜

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

当前位置:首页 > 工作范文 > 行政公文

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

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