版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第C++實(shí)現(xiàn)圖書館管理系統(tǒng)Book(){borrow_flag=false;}
//無參構(gòu)造函數(shù)
Book(stringname,stringnum,stringauther)
:name(name),num(num),auther(auther){
borrow_flag=false;
}
//有參構(gòu)造函數(shù)
voidsetReader(stringreader,intlcn,stringdata);//設(shè)置讀者
voidsetInfo(stringname,stringnum,stringauther);//設(shè)置書籍信息
stringgetName(){
returnname;
}
stringgetNum(){returnnum;}
stringgetAuther(){
returnauther;
}
boolgetBorrow_flag(){
returnborrow_flag;
}
stringgetReader(){
returnreader;
}
intgetLcn(){
returnlcn;
}
stringgetData(){
returndata;
}
boolisBorrow(){returnborrow_flag;}
//判斷書籍是否借出
voidsetBorrow_flag(boolb){borrow_flag=b;}
voidshowInfo();
//顯示數(shù)據(jù)信息
private:
stringname;
//書名
stringnum;
//編號(唯一標(biāo)示)
stringauther;//作者
boolborrow_flag;
stringreader;//讀者
intlcn;
//借書證號
stringdata;
//借書日期
//DVD電影類
classDVD:publicMovie
//藍(lán)光電影類
classBlue_ligh:publicMovie
classPerson
public:
stringName;
stringAdress;
listitemRegist_items;
voidBook::setReader(stringreader,intlcn,stringdata)
borrow_flag=true;
this-reader.assign(reader);
this-lcn=lcn;
this-data.assign(data);
voidBook::setInfo(stringname,stringnum,stringauther)
this-name.assign(name);
this-num.assign(num);
this-auther.assign(auther);
voidBook::showInfo()
cout"書籍名稱:"setiosflags(ios_base::left)setw(56)nameendl
"書籍編號:"setw(56)numendl
"書籍作者:"setw(56)auther
endl;
if(borrow_flag)
{
cout"書籍被借出。
\n"
"讀者姓名:"setw(56)readerendl
"借書證號:"setw(56)lcnendl
"借書日期:"setw(56)dataendl;
}
else{
cout"書籍未被借出。
\n";
}
classLibrary
public:
//書籍庫
listitemitemList;
Library(){currentNum=0;brrowNum=0;}
voidaddBook();
//向圖書館里加書籍
voidaddBook(stringname,stringnum,stringauther);
voiddeleteBook();
//刪除無用書籍
voidbrrowBook();
//借書,之前先判斷書籍是否存在
voidreturnBook();
//還書
voidgetReader();
//查詢某編號的書是誰借了
intindexOfNum(stringnum);//根據(jù)編號得到書在數(shù)組中的下標(biāo)
vectorBookgetBooks(){
returnbooks;
}
voidshowInfo();
intgetTotalBooks(){returncurrentNum+brrowNum;}
private:
vectorBookbooks;//所有書籍
mapstring,intreaders;
//存儲(chǔ)讀者及其所借的書籍?dāng)?shù)目
intcurrentNum;
//庫存書籍?dāng)?shù)目(不包括借出的)
intbrrowNum;
//借出書籍?dāng)?shù)目
voidLibrary::showInfo()
cout"
***************************所有圖書信息***************************\n\n";
for(inti=0;ibooks.size();i++)
{
cout"第"i+1"本書籍的信息。"endl;
books[i].showInfo();
}
system("pause");
system("cls");
intLibrary::indexOfNum(stringnum)
inti;
for(i=0;ibooks.size();i++)
{
if(books[i].getNum()==num)
returni;
}
return-1;
voidLibrary::addBook()
Bookb;
inttemp;
stringname,num,auther;
cout"
*****************************增加界面*****************************\n\n";
do{
cout"輸入書籍名稱,編號,作者:";
cinnamenumauther;
b.setInfo(name,num,auther);
if(indexOfNum(num)==-1){
books.push_back(b);
currentNum++;
cout"\n添加成功。"endl;
cout"輸入1繼續(xù)增加,返回上一層輸入2:";
cintemp;
}
else{
cout"已存在該編號的書籍,添加失敗。"endl;
cout"輸入1繼續(xù)重新增加,返回上一層輸入2:";
cintemp;
}
}while(temp==1);
system("pause");
system("cls");
voidLibrary::addBook(stringname,stringnum,stringauther)
Bookb;
b.setInfo(name,num,auther);
books.push_back(b);
voidLibrary::deleteBook()
intindex,temp;
stringnum;
cout"
*****************************刪除界面*****************************\n\n";
do{
cout"輸入要?jiǎng)h除的書籍的編號:";
cinnum;
index=indexOfNum(num);
if(index!=-1){
if(!books[index].getBorrow_flag()){
cout"刪除的書籍的信息:\n";
books[index].showInfo();
books.erase(books.begin()+index);
currentNum--;
cout"刪除成功。"endl;
cout"輸入1繼續(xù)繼續(xù)刪除,返回上一層輸入2:";
cintemp;
}
else{
cout"刪除失?。呀?jīng)被借出。"endl;
cout"輸入1繼續(xù)繼續(xù)刪除,返回上一層輸入2:";
cintemp;
}
}
else
{
cout"刪除失敗。未找到編號為"num"的書籍。\n";
cout"輸入1繼續(xù)繼續(xù)刪除,返回上一層輸入2:";
cintemp;
}
}while(temp==1);
system("pause");
system("cls");
voidLibrary::brrowBook()
stringnum;
intindex;
cout"
*****************************借閱界面*****************************\n\n";
cout"輸入要借閱的書籍的編號:";
cinnum;
index=indexOfNum(num);
if(index!=-1){
if(books[index].isBorrow()){
cout"借閱失敗,書籍以及被借出。\n";
system("pause");
system("cls");
}
else
{
cout"要借的書籍的信息:\n";
books[index].showInfo();
stringreader,data;
intlcn;
cout"輸入讀者姓名,借書證號,借書日期:";
cinreaderlcndata;
if(readers[reader]!=2){
books[index].setReader(reader,lcn,data);
cout"借書完成。\n";
currentNum--;
brrowNum++;
readers[reader]++;
system("pause");
system("cls");
}
else
{
cout"借書失敗,該讀者以借超過兩本書籍。\n";
system("pause");
system("cls");
}
}
}
else
{
cout"借書失敗。未找到編號為"num"的書籍.\n";
system("pause");
system("cls");
}
voidLibrary::returnBook()
stringnum;
cout"
*****************************還書界面*****************************\n\n";
cout"輸入要還的書籍的編號:";
cinnum;
intindex;
index=indexOfNum(num);
if(index!=-1)
{
cout"要還的書籍的信息為:\n";
books[index].showInfo();
books[index].setBorrow_flag(false);
readers[books[index].getReader()]--;
cout"還書成功。\n";
system("pause");
system("cls");
}
else
{
cout"還書失敗,請檢查書籍編號是否輸入錯(cuò)誤!\n";
system("pause");
system("cls");
}
voidLibrary::getReader()
stringnum;
cout"
*****************************查詢界面*****************************\n\n";
cout"輸入要查找的書籍編號:";
cinnum;
intindex;
index=indexOfNum(num);
if(index!=-1)
{
if(books[index].getBorrow_flag())
cout"讀者為:"books[index].getReader()endl;
else{
cout"無讀者。"endl;
}
system("pause");
system("cls");
}
else
{
cout"查詢失敗,請檢查書籍編號是否輸入錯(cuò)誤!\n";
system("pause");
system("cls");
}
Libraryl;
voidmenu()
inttemp;
while(1)
{
cout"___________________________圖書館管理系統(tǒng)____________________________\n";
cout"
┏━━━━━━━━━━━━━┓
\n";
cout"
┃[0]退出系統(tǒng)。
┃
\n";
cout"
┃[1]增加圖書。
┃
\n";
cout"
┃[2]刪除圖書。
┃
\n";
cout"
┃[3]借閱圖書。
┃
\n";
cout"
┃[4]歸還圖書。
┃
\n";
cout"
┃[5]顯示圖書信息。
┃
\n";
cout"
┃[6]查詢圖書。
┃
\n";
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 生產(chǎn)科科長考試題及答案
- 生理學(xué)輸血試題及答案
- 瑞昌小學(xué)畢業(yè)考試題目及答案
- 輔警制度培訓(xùn)課件
- 2026 年初中英語《語法填空》專項(xiàng)練習(xí)與答案 (100 題)
- 2026年深圳中考語文閱讀提分專項(xiàng)試卷(附答案可下載)
- 游戲題目及答案大全
- 2026年深圳中考數(shù)學(xué)中等生提分試卷(附答案可下載)
- 基本邏輯考題題庫及答案
- 2026年深圳中考?xì)v史考場實(shí)戰(zhàn)模擬試卷(附答案可下載)
- 2026年春蘇教版新教材小學(xué)科學(xué)二年級下冊(全冊)教學(xué)設(shè)計(jì)(附教材目錄P97)
- 2026年基因測序技術(shù)臨床應(yīng)用報(bào)告及未來五至十年生物科技報(bào)告
- 服裝銷售年底總結(jié)
- 文物安全保護(hù)責(zé)任書范本
- 風(fēng)機(jī)系統(tǒng)巡檢內(nèi)容及標(biāo)準(zhǔn)
- 新生兒高血糖護(hù)理課件
- 熱食類食品制售管理制度
- 香精概論第四章-芳香療法課件
- 車輛考核制度6篇
- JJF 1487-2014超聲波探傷試塊校準(zhǔn)規(guī)范
- GB/T 39253-2020增材制造金屬材料定向能量沉積工藝規(guī)范
評論
0/150
提交評論