當前位置:歷史故事大全網 - 圖書館 - 壹個C語言寫書管理系統。

壹個C語言寫書管理系統。

# include & ltiostream & gt

# include & ltiomanip & gt

# include & lt字符串& gt

# include & ltfstream & gt

# include & ltstdio.h & gt

使用命名空間std

const int Maxb = 10000;//最多的書

課堂用書//書

{

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

int數;//ISBN號

char name[20];//書名

char作者[10];//主編

char number 2[10];//版本

字符位置[20];//按下

充電時間[20];//出版年份

int價格;//定價

int onshelf//是在1號架上:在0號架上:借的?

公共:

Book() {}

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

int get number(){ return number;}//獲取ISBN號

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

char * get author(){ return author;}//獲取主編

char * get number 2(){ return number 2;}//獲取版本號

char * get position(){ return position;}//獲取出版社

char * gettime(){ return time;}//獲取出版年份

char getprice(){ return price;}//獲取圖書定價void del book(){ tag = 1;}//刪除書籍

Void addbook (int n,char * na,char * au,char * N2,char * da,char * ti,int pr)//添加書籍。

{

tag = 0;

數字= n;

價格= pr

strcpy(姓名,不適用);

strcpy(作者,非盟);

strcpy(數字2,N2);

strcpy(位置,da);

strcpy(時間,ti);

on shelf = 1;

} void disp() //輸出書籍

{

cout & lt& ltsetw(10)& lt;& lt號碼& lt& ltsetw(10)& lt;& lt名稱& lt& ltsetw(10)

& lt& ltsetw(10)& lt;& lt作者& lt& ltsetw(10)& lt;& lt數字& lt& ltsetw(10)& lt;& lt位置& lt& ltsetw(10)& lt;& lt時間& lt& ltsetw(10)& lt;& lt價格& lt& ltendl

}

};b類數據庫//庫類

{

int top//圖書記錄指針

book book[Maxb];//圖書記錄

公共:

BDatabase() //構造函數,將book.txt讀入book[]。

{

書b;

top =-1;

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

while (1)

{

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

如果(!文件)中斷;

top++;

book[top]= b;

}

file . close();

}

Void clear() //全部刪除

{

top =-1;

}

Intaddbook (int n,char * na,char * au,char * N2,char * da,char * ti,int pr)//添加書籍。

{

book * p = search 1(n);

if (p==NULL)

{

top++;

書[頂]。addbook(n,na,au,n2,da,ti,pr);

返回1;

}

返回0;

}

book * search 1(intbookid)//查找書籍。

{

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

如果(書[我]。getnumber()= = bookid & amp;& amp

書[我]。gettag()==0)

返回& amp書[I];

返回NULL

} book * search2 (int bookmark,char * name)//按書名搜索書籍。

{

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

if(strcmp(書[i])。getname(),name)==0)

{bookid=book[i]。get number();& ltbr & gt返回& amp書[I];& ltbr & gt}

返回NULL

} book * search3 (int bookid,char * author)//按編輯器搜索圖書。

{

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

if(strcmp(書[i])。getauthor(),author)==0)

{bookid=book[i]。get number();& ltbr & gt返回& amp書[I];& ltbr & gt}

返回NULL

} void book data();//庫維護

無效顯示()

{

cout & lt& ltsetw(10)& lt;& lt"書號"

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

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

書[我]。disp();

}

~BDatabase() //析構函數,將book[]寫入book.txt文件。

{

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

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

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

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

file . close();

}

};void BDatabase::bookdata()

{

int choice = 1;

int choice 2 = 1;

int choice 3 = 1;

int choice4

char bname[40];

字符編輯器[40];

char banci[40];

充電位置[40];

char year[40];

int值;

int bookid

書* b;

而(選擇!=0)

{

cout & lt& ltendl & lt& ltendl

cout & lt& lt“* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *”& lt;& ltendl

cout & lt& lt“* * * 1加本書* * * *”& lt;& ltendl

cout & lt& lt“****三刪本書***”

cout & lt& lt“**** 4本書查詢***”

cout & lt& lt“**** 5顯示本書***”

cout & lt& lt“**** 6刪除所有* * * * *”& lt;& ltendl

cout & lt& lt“**** 7借書***”

cout & lt& lt“**** 8還書***”

cout & lt& lt“**** 0退出* * * * *”& lt;& ltendl

cout & lt& lt“* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *”& lt;& ltendl & lt& ltendl

cout & lt& ltendl & lt& lt"請按鍵選擇您需要的操作:";

CIN & gt;& gt選擇;

而(選擇!=1。& amp選擇!= 2 & amp& amp選擇!= 3 & amp& amp選擇!= 4 & amp& amp選擇!= 5 & amp& amp選擇!= 6 & amp& amp選擇!=0){

cout & lt& ltendl & lt& lt“* *菜單中不存在您輸入的號碼,請重新輸入* *”& lt;& lt\ a ' & lt& ltendl & lt& ltendl

cout & lt& lt”請選擇您需要的操作:“;

CIN & gt;& gt選擇;

}

開關(選擇)

{

案例1:

cout & lt& lt“輸入ISBN(必須是數字,否則會不正常):”;

CIN & gt;& gtbookid

cout & lt& lt"輸入標題:";

CIN & gt;& gtbname

cout & lt& lt”輸入主編:“;

CIN & gt;& gt編輯;

cout & lt& lt“輸入版本(必須是數字,否則會不正常):”;

CIN & gt;& gt班奇;

cout & lt& lt”輸入發布者:“;

CIN & gt;& gt位置;

cout & lt& lt“輸入出版年份(必須是數字,否則會不正常):”;

CIN & gt;& gt年份;

cout & lt& lt“輸入價格(必須是數字,否則會不正常):”;

CIN & gt;& gt價值;

addbook(bookid,bname,editor,banci,position,year,value);

cout & lt& lt" ISBN " < & ltbookid & lt& lt“添加成功,如果要返回主菜單,請按1,退出系統,請按0(壹定要輸入數字)”;

CIN & gt;& gt選擇4;

while(選擇4!= 0 & amp& amp選擇4!=1)

{

cout & lt& lt輸入錯誤,請重新輸入

CIN & gt;& gt選擇4;}

開關(選項4)

{

案例1:

choice = 1;

打破;

案例0:

choice = 0;

打破;}破;

案例三:

cout & lt& lt”輸入ISBN:“;

CIN & gt;& gtbookid

b = search 1(bookid);

if (b==NULL)

{

cout & lt& lt“這本書不存在”

打破;

}

b-& gt;del book();

打破;

案例4:

cout & lt& lt"搜索方法:"

CIN & gt;& gt選擇3;

開關(選項3)

{

案例1:

{ cout & lt& lt”輸入ISBN:“;//通過ISBN號查詢< br & gtCIN & gt;& gtbookid& ltbr & gtb = search 1(bookid);& ltbr & gtif(b = = NULL)& lt;br & gt{ & ltbr & gtcout & lt& lt“這本書不存在”

b-& gt;disp();

}

打破;

案例二:

{

cout & lt& lt請輸入標題:“;

CIN & gt;& gtbname

b=search2(bookid,bname);

if(b==NULL)

{

cout & lt& lt“這本書不存在!”& lt& ltendl

打破;

}

b-& gt;disp();

}

打破;

案例三:

{

cout & lt& lt"請輸入主編:";

CIN & gt;& gt編輯;

b=search3(bookid,editor);

if(b==NULL)

{

cout & lt& lt“主編不存在!”& lt& ltendl

打破;

}

b-& gt;disp();

}

打破;

}

打破;

案例5:

disp();

打破;

案例6:

clear();

打破;

} }

cout & lt& ltendl & lt& lt“* * * * *慢行* * * * *”< & lt;endl & lt& ltendl & lt& ltendl

};

int main()

{

b數據庫BookDB

cout & lt& ltendl & lt& ltendl & lt& ltendl

cout & lt& lt“歡迎來到SCU圖書館”& ltendl

cout & lt& lt“歡迎來到四川大學圖書館”< & ltendl

cout & lt& ltendl & lt& ltendl & lt& lt"請輸入0以進入庫"

int w;

CIN & gt;& gtw;

如果(w==0)

bookdb . book data();

系統(“暫停”);

返回0;

}

  • 上一篇:幫助盲人過馬路,看書寫和作文。
  • 下一篇:1999閱兵,領兵的雙胞胎現在怎麽樣了?
  • copyright 2024歷史故事大全網