古詩詞大全網 - 成語用法 - 查找匯編程序小程序

查找匯編程序小程序

# include & ltiostream.h & gt

# include & ltiomanip.h & gt

# include & ltstring.h & gt

# include & ltfstream.h & gt

const int Maxr = 100;//最大讀取器數量

const int Maxb = 100;//書籍的最大數量

const int max bor = 5;//每位讀者最多可以借閱5本書。

類讀取器//讀取器類

{

int標簽;//刪除標記1:已刪除,0:未刪除。

int號;//閱讀器編號

字符名稱[10];//讀者姓名

int bor book[max bor];//借書

公共:

Reader() {}

char * getname(){ return name;}//獲取名稱

int gettag(){ return tag;}//獲取刪除標記

int getno(){ return no;}//獲取閱讀器編號

Void setname(char na[]) //設置名稱。

{

strcpy(姓名,不適用);

}

void del book(){ tag = 1;}//設置刪除標誌

Void addreader(int n,char *na) //增加讀取器。

{

tag = 0;

no = n;

strcpy(姓名,不適用);

for(int I = 0;我& ltMaxbori++)

bor book[I]= 0;

}

Void borrowbook(int bookid) //借入操作

{

for(int I = 0;我& ltMaxbori++)

{

if (borbook[i]==0)

{

bor book[I]= bookid;

返回;

}

}

}

Int retbook(int bookid) //圖書返回操作

{

for(int I = 0;我& ltMaxbori++)

{

if (borbook[i]==bookid)

{

bor book[I]= 0;

返回1;

}

}

返回0;

}

Void disp() //輸出讀取器信息。

{

cout & lt& ltsetw(5)& lt;& lt否& lt& ltsetw(10)& lt;& lt名稱& lt& lt“借閱號:[”;

for(int I = 0;我& ltMaxbori++)

if (borbook[i]!=0)

cout & lt& ltbor book[I]& lt;& lt"|";

cout & lt& lt"]" & lt;& ltendl

}

};

class RDA base//讀者庫類

{

int top//讀取器記錄指針

閱讀器read[Maxr];//閱讀器記錄

公共:

RDatabase() //構造函數將reader.txt讀入read[]。

{

讀者s;

top =-1;

fstream文件(" reader.txt ",IOs::in);

while (1)

{

file . read((char *)& amp;s,sizeof(s));

如果(!文件)中斷;

top++;

read[top]= s;

}

file . close();

}

Void clear() //刪除所有閱讀器信息。

{

top =-1;

}

Int addreader (int n,char *na) //添加讀取器時,檢查它們是否存在。

{

reader * p = query(n);

if (p==NULL)

{

top++;

閱讀【頂部】。addreader(n,na);

返回1;

}

返回0;

}

Reader *query(int readerid) //按編號搜索。

{

for(int I = 0;我& lt= topi++)

如果(讀[我]。getno()= = readerid & amp;& amp讀[我]。gettag()==0)

返回& amp改為[I];

返回NULL

}

Void disp() //輸出所有讀取器信息。

{

for(int I = 0;我& lt= topi++)

讀[我]。disp();

}

void reader data();//讀者庫維護

~RDatabase() //析構函數,將read[]寫入reader.txt文件。

{

fstream文件(" reader.txt ",IOs::out);

for(int I = 0;我& lt= topi++)

如果(讀[我]。gettag()==0)

file . write((char *)& amp;read[i],sizeof(read[I]);

file . close();

}

};

void RDatabase::readerdata()

{

int choice = 1;

char rname[20];

int readerid

reader * r;

而(選擇!=0)

{

cout & lt& lt“閱讀器維護1:添加2:更改3:刪除4:查找5:顯示6:全部刪除0:退出= >”;

CIN & gt;& gt選擇;

開關(選擇)

{

案例1:

cout & lt& lt"輸入讀卡器號:";

CIN & gt;& gtreaderid

cout & lt& lt"輸入讀取器名稱:";

CIN & gt;& gtrname

addreader(readerid,rname);

打破;

案例二:

cout & lt& lt"輸入讀卡器號:";

CIN & gt;& gtreaderid

r = query(readerid);

if (r==NULL)

{

cout & lt& lt"讀者不存在"

打破;

}

cout & lt& lt”輸入新名稱:“;

CIN & gt;& gtrname

r-& gt;set name(rname);

打破;

案例三:

cout & lt& lt"輸入讀卡器號:";

CIN & gt;& gtreaderid

r = query(readerid);

if (r==NULL)

{

cout & lt& lt“讀者不存在。