資源簡介
這是一個簡單的圖書館管理,可以實現的功能包括1、 圖書的管理,2、讀者信息的管理,3、圖書的借閱管理、4、圖書的歸還

代碼片段和文件信息
#include?“iostream“
#include?“iomanip“?
#include?“string“
#include?“fstream“
using?namespace?std;?
//定義最多的讀者?
const?int?Maxr=100;
//定義最多的圖書?
const?int?Maxb=100;
//讀者最多可借的書?
const?int?Maxbor=5;
class?Reader
{
?????private:?
??????int?tag;?//刪除標記?1:已刪?0:未刪?
??????int?no;?//讀者編號?
??????char?name[10];?//讀者姓名?
??????int?borbook[Maxbor];//所借圖書?
?????public:
??????Reader()?{}?
??????char?*getname()?{return?name;}?//獲取姓名?
??????int?gettag()?{return?tag;}?//獲取刪除標記?
??????int?getno()?{return?no;}?//獲取讀者編號?
void?setname(char?na[])?//設置姓名?
{?
?????strcpy(namena);?
}???????
void?delbook(){?tag=1;?}//設置刪除標記?1:已刪?0:未刪?
void?addreader(int?nchar?*na)//增加讀者?
{?
?????tag=0;?
?????no=n;?
?????strcpy(namena);?
?????for(int?i=0;i ?????borbook[i]=0;?
}?
void?borrowbook(int?bookid)//借書操作?
{?
?????for(int?i=0;i ?????{?
?????????if?(borbook[i]==0)?
?????????{?
???????????borbook[i]=bookid;?
???????????return;?
??????????}?
?????}?
}?
int?retbook(int?bookid)//還書操作?
{?
????for(int?i=0;i ????{?
??????if(borbook[i]==bookid)?
???????{?
???????borbook[i]=0;?
???????return?1;?
???????}?
????}?
????return?0;?
}?
void?disp()//讀出讀者信息?
{?
?????cout?<?????for(int?i=0;i ?????if(borbook[i]!=0)?
?????cout?<?????cout?<“]“<
}?
};?
//讀者類庫,實現建立讀者的個人資料?
class?RDatabase?
{?
??private:?
??int?top;?//讀者記錄指針?
??Reader?read[Maxr];//讀者記錄?
??public:?
??RDatabase()?//構造函數,將reader.txt讀到read[]中?
??{?
????Reader?s;?
????top=-1;?
????fstream?file(“reader.txt“ios::in);//打開一個輸入文件?
????while?(1)?
????{?
??????file.read((char?*)&ssizeof(s));?
??????if?(!file)break;?
??????top++;?
??????read[top]=s;?
????}?
????file.close();?//關閉?reader.txt?
??}?
void?clear()//刪除所有讀者信息?
{?
??top=-1;?
}?
int?addreader(int?nchar?*na)//添加讀者時先查找是否存在?
{?
??Reader?*p=query(n);?
??if?(p==NULL)?
??{?
????top++;?
????read[top].addreader(nna);?
????return?1;
??cout?<“錄入成功“< ??}
??cout<<“該讀者已存在“?< ??
}?
Reader?*query(int?readerid)//按編號查找?
{?
??for?(int?i=0;i<=top;i++)?
??if?(read[i].getno()==readerid?&&?
??read[i].gettag()==0)?
??{?
????return?&read[i];?
????}?
????return?NULL;?
}?
void?disp()?//輸出所有讀者信息?
{?
??for?(int?i=0;i<=top;i++)?
??read[i].disp();?
}?
void?readerdata();//讀者庫維護?
~RDatabase()?//析構函數,將read[]寫到reader.txt文件中?
{?
??fstream?file(“reader.txt“ios::out);?
??for?(int?i=0;i<=top;i++)?
??if?(read[i].gettag()==0)?
??file.write((char?*)&read[i]sizeof(read[i]));?
??file.close();?
}?
};?
void?RDatabase::readerdata()?
{?
??char?choice;?
??char?rname[20];?
??int?readerid;?
??Reader?*r;?
??while?(choice!=‘0‘)?
??{?
cout?????????????<<“|==============================================================|“< cout?????????????<<“|??????????????????????????????????????????????????????????????|“< co
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????15386??2009-11-24?00:45??圖書館\圖書館.cpp
?????文件?????487738??2009-11-24?00:45??圖書館\圖書館.exe
?????目錄??????????0??2009-11-24?02:45??圖書館
-----------?---------??----------?-----??----
???????????????503124????????????????????3
評論
共有 條評論