图书管理系统实现代码c++语言.docx
- 文档编号:3943751
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:26
- 大小:20.21KB
图书管理系统实现代码c++语言.docx
《图书管理系统实现代码c++语言.docx》由会员分享,可在线阅读,更多相关《图书管理系统实现代码c++语言.docx(26页珍藏版)》请在冰豆网上搜索。
图书管理系统实现代码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:
vector
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: vector 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*************恭喜
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 系统 实现 代码 c+ 语言