當前位置:歷史故事大全網 - 圖書館 - C++圖書管理系統代碼只要書~

C++圖書管理系統代碼只要書~

# include & ltiostream & gt

# include & lt字符串& gt

# include & ltvector & gt

# include & ltcstdlib & gt

使用命名空間std

課堂用書{

公共:

void addBook();

string book info(bool is _ borrowed = false)const;

void modified info();

內聯bool findBook(常量字符串& ampinfo,bool by_isbn = false) const{

if (by_isbn)

返回m _ isbn = = info

其他

return m _ author = = info | | m _ ISBN = = info | | m _ name = = info | | m _ publisher = = info;

}

私人:

字符串m_name,m_author,m_isbn,m _ publisher

};

分類系統{

公共:

void findBookInfo()const;

book * find book()const;

void modified book info();

void addBook();

void borrow book();

void remove book();

void pop menu();

inline void leftBookNum() const{

cout & lt& lt"剩余書籍:"

cout & lt& lt"總計:"

};

私人:

向量& ltBook * & gt書,借_書;

};

void Book::addBook(){

cout & lt& lt"請輸入圖書名稱:";

CIN & gt;& gtm _ name

cout & lt& lt“請輸入圖書作者:“;

CIN & gt;& gtm _作者;

cout & lt& lt"請輸入書號:";

CIN & gt;& gtm _ isbn

cout & lt& lt"請輸入圖書出版商:";

CIN & gt;& gtm _ publisher

cout & lt& lt“添加成功!”& lt& ltendl

}

string Book::Book info(bool is _ lowered)const {

字符串信息;

info = " Title:"+this-& gt;m_name +(是_借的?"(lent)\ n ":" \ n ");

Info += "作者:"+this-& gt;m _ author+" \ n number:"+this-& gt;m _ ISBN+" \ n press:"+this-& gt;m _ publisher+" \ n ";

返回信息;

}

void Book::modifiedInfo(){

cout & lt& lt"修訂版:\n1。標題\n2。作者\n3。編號\n4。出版社\ n請選擇:";

int n;

CIN & gt;& gtn;

開關(n){

案例1:{

cout & lt& lt"請輸入圖書名稱:";

CIN & gt;& gt這-& gt;m _ name

打破;

}

案例2:{

cout & lt& lt“請輸入圖書作者:“;

CIN & gt;& gt這-& gt;m _作者;

打破;

}

案例3:{

CIN & gt;& gt"請輸入書號:";

CIN & gt;& gt這-& gt;m _ isbn

打破;

}

案例4:{

cout & lt& lt"請輸入圖書出版商:";

CIN & gt;& gt這-& gt;m _ publisher

打破;

}

默認值:{

cout & lt& lt“選錯了!”& lt& ltendl

返回;

}

}

cout & lt& lt“修改成功!”& lt& ltendl

}

Book *System::findBook() const{

cout & lt& lt"請輸入書號:";

字符串isbn

CIN & gt;& gtisbn

Book * book = NULL

for(size _ t t = 0;t!= books . size();t++){

if(books . at(t)-& gt;findBook(isbn,true)){

book = books . at(t);

打破;

}

}

if (book == NULL){

for(size _ t t = 0;t!= lowed _ books . size();t++){

if(借閱_書籍. at(t)-& gt;findBook(isbn,true)){

book =借入_ books . at(t);

打破;

}

}

}

還書;

}

void System::findBookInfo()const {

cout & lt& lt“請輸入書名/作者/序號/出版社進行搜索”:

字符串信息;

CIN & gt;& gt信息;

int count = 0;

size _ t t = 0;

for(t = 0;t!= books . size();t++){

if(books . at(t)-& gt;findBook(info)){

cout & lt& ltbooks . at(t)-& gt;book info()& lt;& ltendl

count++;

}

}

for(t = 0;t!= lowed _ books . size();t++){

if(借閱_書籍. at(t)-& gt;findBook(info)){

cout & lt& lt借閱_書籍. at(t)-& gt;book info(true)& lt;& ltendl

count++;

}

}

cout & lt& lt“* * *找到了”

}

void System::addBook(){

書*書=新書;

書-& gt;addBook();

books . push _ back(book);

}

void System::modifiedBookInfo(){

book * book = find book();

if(book == NULL)

cout & lt& lt“沒有這樣的書!”& lt& ltendl

其他

書-& gt;modified info();

}

void System::removeBook(){

book * book = find book();

if(book == NULL){

cout & lt& lt“沒有這樣的書!”& lt& ltendl

返回;

}

向量& ltBook * & gt*叠代器it = books . begin();

for(it = books . begin();它!= books . end();it++){

if((*it) == book){

books . erase(it);

cout & lt& lt“刪除成功!”& lt& ltendl

返回;

}

}

for(it = borrowed _ books . begin();它!= lowed _ books . end();it++){

if((*it) == book){

借來的_ books . erase(it);

cout & lt& lt“刪除成功!”& lt& ltendl

返回;

}

}

cout & lt& lt“刪除失敗!”& lt& ltendl

}

void System::borrowBook(){

book * book = find book();

if(book == NULL){

cout & lt& lt“沒有這樣的書!”& lt& ltendl

返回;

}

for(vector & lt;Book * & gt*叠代器it = books . begin();它!= books . end();it++){

if((*it) == book){

books . erase(it);

打破;

}

}

borrowed_books.push_back(圖書);

cout & lt& lt“借書成功了!”& lt& ltendl

}

void System::popMenu(){

while(true){

const string menu = " = = = = = = = = = = = = = = = = = = = = = = = = = = = = \ n圖書管理系統\n1。圖書條目\n2。圖書信息修改\n3。圖書刪除\n4。

cout & lt& lt菜單;

int n;

CIN & gt;& gtn;

開關(n){

案例1:{

addBook();

打破;

}

案例2:{

modifiedBookInfo();

打破;

}

案例3:{

remove book();

打破;

}

案例4:{

findBookInfo();

打破;

}

案例5:{

borrow book();

打破;

}

案例6:{

leftBookNum();

打破;

}

案例7:{

退出(0);

}

默認值:{

cout & lt& lt"錯誤選擇"

CIN . sync();

CIN . clear();

打破;

}

}

}

}

int main(){

System *sys =新系統;

sys-& gt;pop menu();

返回0;

}

  • 上一篇:漢字的演變
  • 下一篇:江安縣圖書館寒假
  • copyright 2024歷史故事大全網