?? zuizhongdezuizhong.doc
字號:
/*
*Copyright (c) 2005 江蘇大學電氣學院
*All right resewed
*文件名稱:圖書館管理系統.cpp
*摘要
*當前版本1.8
*作者:自動化0503-3050502090 張海濤
*完成日期:2008年6月7日
*/
#include <iostream.h>
#include <string.h>
int readerid=0;
int bookid=0;
int borrow();
int back();
int bookinformation(int k);
int readerinformation(int mk);
int readerinformation2(int mk);
int Booknum[6];
char liebiao[6][20];
int i,i1,j1,j2,j3,j4,j5;
class CBook //圖書館存書類
{
private:
char readername[5][20];
char borrowdate[5][20];
int totalnum;
public:
//char readername[5][20];
char bookname[20];
int currentnum;
CBook(char *na="nobook",int num=0)
{
strcpy(bookname,na);
for(int j=0;j<5;j++)
{
strcpy(readername[j],"noname");
strcpy(borrowdate[j],"0000");
};
totalnum=num;
currentnum=num;
}
void displayname()
{
cout<<"書名:"<<bookname;
cout<<" 可借數量:"<<currentnum<<endl;
}
void displayinfo()
{
char *readername1;
char *borrowdate1;
cout<<"書名:"<<bookname;
//cout<<" 可借數量:"<<currentnum<<endl;
for(int j=0;j<totalnum;j++)
{
cout<<"書名:"<<bookname;
readername1=readername[j];
borrowdate1=borrowdate[j];
cout<<readername1<<" 借出日期:"<<borrowdate1<<endl;
};
}
};
class CReader//借閱人類
{
private:
char name[20];
int id;
int books;
public:
char bookname[5][20];
int borrowed;//已借書數量
CReader(char *nam="noname",int book=5):borrowed(5-book),books(book),id(readerid+1)
{
strcpy(name,nam);
for(int j=0;j<5;j++)
strcpy(bookname[j],"nobook");
}
void display()
{
//cout<<"您的姓名為:"<<readername[id]<<endl;
cout<<"您的借書證號為:"<<id<<"號"<<endl;
cout<<"您的借閱情況:"<<endl;
if (borrowed>0)
for(int j=0;j<borrowed;j++)
{
cout<<"已借書籍: "<<bookname[j]<<endl;
};
cout<<"已借:"<<borrowed<<"本書";
cout<<" 還可借:"<<5-borrowed<<"本書"<<endl;
}
};
CBook libbook[5];//本館最多存5種書(可調)
CReader libperson[5];//本館最多注冊5人(可調)
CReader accout();
CBook newbook();
void hello();
void main()
{ char *option;
char IOBUF[100];
// char IOBUF[1];
int mbuf;
for(int k=1;k<6;k++)
libperson[k].borrowed=0;
option=IOBUF;
hello();
if(IOBUF[1]>0)
cout<<"輸入有錯"<<endl;
for(;;)
{
cout<<"------------------------系 統 首 頁------------------------------------"<<endl<<endl;
cout<<" 0、入庫新書 1、開戶 2、借書 3、還書 4、庫存查詢 5、用戶查詢 6、管理員查詢 "<<endl;
cout<<" (請選序號后回車) "<<endl;
cout<<" 圖書管理系統正式公測版 "<<endl;
cout<<" 08年6月10日正式發行敬請期待 "<<endl;
cout<<"------------------------------------------------------------------------------"<<endl<<endl<<endl;
cin>>option;
if(IOBUF[1]>0)
cout<<"輸入錯誤,請重新選擇序號!"<<endl;
else{
switch (IOBUF[0])
{
case '0':
if (bookid>4)
{
cout<<"書庫已滿!請通知管理員"<<endl;
break;
}
libbook[bookid]=newbook();
bookid=bookid+1;
break;
case '1':
if (readerid>4)
{
cout<<"用戶已滿!請通知管理員"<<endl;
break;
}
libperson[readerid]=accout();
readerid=readerid+1;
break;
case '2':
borrow();
break;
case '3':
back();
break;
case '4':
bookinformation(bookid);
break;
case '5':
cout<<"請輸入借書證號:"<<endl;
cin>>mbuf;
readerinformation(mbuf);
break;
case '6':
readerinformation2(readerid);
//if(readerid>1) readerinformation(readerid--);
//if(readerid>1) readerinformation(readerid--);
//if(readerid>1) readerinformation(readerid--);
//if(readerid>1) readerinformation(readerid--);
break;
default:
cout<<"輸入錯誤,請重新選擇序號!"<<endl;
break;
};}
};
}
CReader accout()//開戶
{
char buf[20];
char *xinming=buf;
cout<<"請輸入姓名:"<<endl;
cin>>xinming;
CReader someone(xinming);
cout<<"歡迎您 "<<xinming<<" 同學!"<<endl;
someone.display();
i1++;
return someone;
};
CBook newbook()//進新書
{ char aa[20];
char *abookname=aa;
int abooknum;
i++;
cout<<"請輸入新書名:";
cin>>abookname;
cout<<"請輸入新書數量:";
cin>>abooknum;
strcpy(liebiao[i],abookname);
Booknum[i]=Booknum[i]+abooknum;
Booknum[i]=Booknum[i]<5?Booknum[i]:5;
CBook ABook(abookname,Booknum[i]);
ABook.displayname();
cout<<" --新書入庫成功!--"<<endl<<endl;
return ABook;
}
void hello()
{
cout<<" **************************************"<<endl;
cout<<" ** **"<<endl;
cout<<" ** 歡迎進入圖書館管理系統 **"<<endl;
cout<<" ** **"<<endl;
cout<<" **************************************"<<endl;
cout<<" ** 高矮胖瘦傾心打造 **"<<endl<<endl;
cout<<" Copyright@EEI,UJS"<<endl;
cout<<" 測試版:2008-6-7"<<endl<<endl;
}
int borrow()//借書
{
int rid;
char b[20];
char *bookname=b;
cout<<"輸入借書證號:"<<endl;
cin>>rid;
if(rid>i1||rid<=0)
cout<<"用戶不存在!聯系管理員"<<endl;
else
{
readerinformation(rid);
bookinformation(bookid);
if(bookid)
{ cout<<"您要借的書是:"<<endl;
cin>>bookname;
for(int j=1;j<6;j++)
{
if(strcmp(liebiao[j],bookname)==0)
{
switch(rid)
{
case 1:
strcpy(libperson[rid].bookname[libperson[rid].borrowed],bookname);
j1++;
break;
case 2:
strcpy(libperson[rid].bookname[libperson[rid].borrowed],bookname);
j2++;
break;
case 3:
strcpy(libperson[rid].bookname[libperson[rid].borrowed],bookname);
j3++;
break;
case 4:
strcpy(libperson[rid].bookname[libperson[rid].borrowed],bookname);
j4++;
break;
case 5:
strcpy(libperson[rid].bookname[libperson[rid].borrowed],bookname);
j5++;
break;
default:
cout<<"輸入錯誤,請重新選擇序號!"<<endl;
break;
};
libbook[bookid]=bookname;
Booknum[j]=Booknum[j]-1;
libperson[rid].borrowed=libperson[rid].borrowed+1;
if((5-libperson[rid].borrowed)<=0||Booknum[j]<0)
{ Booknum[j]=Booknum[j]+1;
libperson[rid].borrowed=libperson[rid].borrowed-1;
cout<<"書均已借出或你的借書限額已到,借閱不成功!"<<endl;
}
else
{
CBook libmass(libbook[bookid]);
libmass.currentnum=Booknum[j];
libmass.displayname();
cout<<"借閱一本已成功!"<<endl;
}
break;
}
else if(j==5)
cout<<"您要借的書不存在,請重新選擇"<<endl;
}
} //第一組編程部分
}return 0;
};
int back()//還書
{int b;
int p;
int q=0;
int k;
char bookname[20];
cout<<"請輸入借書證號:"<<endl;
cin>>b;
if(b>i1||b<0)
cout<<"用戶不存在!有問題聯系管理員"<<endl;
else
{ readerinformation(b);
if(bookid)
{ cout<<"您要還的書是:"<<endl;
cin>>bookname;
for(int j=0;j<6;j++)
{
if(strcmp(bookname,liebiao[j])==0)
{
switch(b)
{
case 1:
j1--;
for( k=0;k<5;k++)
{
if(strcmp(libperson[1].bookname[k],bookname)==0)
{
q++;
for(p=k;p<5;p++)
strcpy(libperson[1].bookname[p],libperson[1].bookname[p+1]);
strcpy(libperson[1].bookname[4],"nobook");
}
}
break;
case 2:
j2--;
for( k=0;k<5;k++)
{
if(strcmp(libperson[2].bookname[k],bookname)==0)
{
q++;
for(p=k;p<5;p++)
strcpy(libperson[2].bookname[p],libperson[2].bookname[p+1]);
strcpy(libperson[2].bookname[4],"nobook");
}
}
break;
case 3:
j3--;
for( k=0;k<5;k++)
{
if(strcmp(libperson[3].bookname[k],bookname)==0)
{
q++;
for(p=k;p<5;p++)
strcpy(libperson[3].bookname[p],libperson[3].bookname[p+1]);
strcpy(libperson[3].bookname[4],"nobook");
}
}
break;
case 4:
j4--;
for( k=0;k<5;k++)
{
if(strcmp(libperson[4].bookname[k],bookname)==0)
{
q++;
for(p=k;p<5;p++)
strcpy(libperson[4].bookname[p],libperson[4].bookname[p+1]);
strcpy(libperson[4].bookname[4],"nobook");
}
}
break;
case 5:
j5--;
for( k=0;k<5;k++)
{
if(strcmp(libperson[5].bookname[k],bookname)==0)
{
q++;
for(p=k;p<5;p++)
strcpy(libperson[5].bookname[p],libperson[5].bookname[p+1]);
strcpy(libperson[5].bookname[4],"nobook");
}
}
break;
default:
cout<<"輸入錯誤,請重新選擇!"<<endl;
break;
};
if (q==0)
cout<<"您未借此書,請重新輸入!"<<endl;
else{
Booknum[j]=Booknum[j]+1;
libperson[b].borrowed=libperson[b].borrowed-1;
libbook[bookid]=bookname;
CBook libmass(libbook[bookid]);
libmass.currentnum=Booknum[j];
libmass.displayname();
cout<<"還書成功!"<<endl;
}
break;
}
if(j==5)
cout<<"您要借的書不存在,請重新選擇"<<endl;
}
}
}
//第二組編程部分
return 0;
};
int bookinformation(int k)//書庫信息
{
if(k==0)
cout<<"書庫暫時無書!有問題聯系管理員"<<endl;
else
{cout<<"本館可借書有:"<<endl;
for(int j=0;j<i;j++)
{ CBook libmass(libbook[j]);
libmass.currentnum=Booknum[j+1];
libmass.displayname();
//libmass.displayinfo();
}
}
//第三組編程部分
return 1;
};
int readerinformation(int mk)//讀者信息
{ //int rid;
int dz;
int dd;
if(readerid>=mk)
{ cout<<"用戶信息:"<<endl;
dz=mk-1;
CReader readermass(libperson[dz]);
dd=libperson[mk].borrowed;
readermass.borrowed=dd;
for(int j=0;j<5;j++)
strcpy(readermass.bookname[j],libperson[mk].bookname[j]);
readermass.display();
dz=mk-dz+1;
}
else
cout<<"用戶不存在!有問題聯系管理員"<<endl;
return 0;//第四組編程部分
}
int readerinformation2(int mk)//總讀者信息
{ //for(int i=0;i<mk;i++)
int dz;
int dd;
if(readerid>=mk)
for(int i=1;i<=mk;i++)
{
{ cout<<"用戶信息:"<<endl;
dz=i-1;
CReader readermass(libperson[dz]);
dd=libperson[i].borrowed;
readermass.borrowed=dd;
for(int j=0;j<5;j++)
strcpy(readermass.bookname[j],libperson[i].bookname[j]);
readermass.display();
}
dz=mk-dz+1;
}
else
cout<<"用戶不存在!有問題聯系管理員"<<endl;
return 0;//第五組編程部分
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -