?? 小型圖書管理系統.cpp
字號:
# include <iostream.h>
# include <string.h>
class bookcard
{
public:
char bookname1[30];//書名
char booknumber1[20];//書號
char bookwritter1[20];//作者
char bookpublish1[30];//出版社
int flag1;//當為0是表示在館,為1是表示借出
bookcard (){};
bookcard(char *bookname,char *booknumber,char *bookwritter,char *bookpublish);
void show();
};
bookcard::bookcard(char *bookname,char *booknumber,char *bookwritter,char *bookpublish)//構造函數
{
strcpy(bookname1,bookname);
strcpy(booknumber1,booknumber);
strcpy(bookwritter1,bookwritter);
strcpy(bookpublish1,bookpublish);
flag1=1;//開始注冊新書成功時定義1其為在館
}
void bookcard::show()
{cout<<"書名"<<"\t"<<"書號"<<"\t"<<"作者"<<"\t"<<"出版社"<<endl;
cout<<"\t"<<bookname1<<"\t"<<booknumber1<<"\t"<<bookwritter1<<"\t"<<bookpublish1<<endl;
}
class shuzheng
{
public:
char name1[12]; //名字
char number1[10];//學號
char zhengnumber1[20];//借書證號
shuzheng (){};
shuzheng(char *name,char *number,char *zhengnumber)//構造函數
{
strcpy(name1,name);
strcpy(number1,number);
strcpy(zhengnumber1,zhengnumber);
}
};
class jilu:public shuzheng,public bookcard//公有繼承
{public:
jilu (){};
void jieshu(){
cout<<"請輸入你想要借的書的書名:";}
void backbook(){
cout<<"請輸入還書書的書號:";}
void display(){
cout<<"本次借書記錄為:"<<endl;}
jilu(char *bookname,char *booknumber,char *zhengnumber){
strcpy(bookname1,bookname);
strcpy(booknumber1,booknumber);
strcpy(zhengnumber1,zhengnumber);
flag1=0;//表示借出
}
};
void main()
{int i,j,k,m;
int count1=0;
int count2=0;
int count3=0;
bookcard bcd[200]; //對象數組
shuzheng jsh[100];//對象數組
jilu aa;
jilu jlu[200];//對象數組
char bookname[30],booknumber[20],bookwritter[20],bookpublish[30];
char name[12],number[10],zhengnumber[20];
for(;;)
lable1:
{cout<<" "<<"歡迎使用小型圖書管理系統"<<endl;
cout<<" "<<endl;
cout<<" 制作人:湯棋芳 學號:0208008146 "<<endl;
cout<<" "<<endl;
cout<<" 指導老師:肖青 "<<endl;
cout<<" 班級:02計師本(1) "<<endl;
cout<<" *****************************************************************************"<<endl;
cout<<" *** " << "1.注冊新書 2.注冊新借書證 3.借書" << "***"<<endl;
cout<<" *** ***"<<endl;
cout<<"***" << "4.還書 5.顯示所有 6.退出/n" << "***"<<endl;
cout<<" *****************************************************************************"<<endl;
cout<<" "<<endl;
cout<<"(請注意輸入的整數必須在1到6之間)";
cout<<"請輸入選項編號:";
cin>>i;
if(i<0&&i>6){
cout<<"輸入無效,請重新輸入:";
goto lable1;}
else {switch(i){
case 1://注冊新書
if(count1<200)
{j=count1++;
cout<<"請輸入書名:";
cin>>bookname;
cout<<"請輸入書號:";
cin>>booknumber;
cout<<"請輸入作者:";
cin>>bookwritter;
cout<<"請輸入出版社:";
cin>>bookpublish;
bcd[j]=bookcard(bookname,booknumber,bookwritter,bookpublish);
cout<<"注冊新書成功"<<endl;
}
else {cout<<"存儲空間已滿";}
break;
case 2://注冊新書證
if(count2<100)
{k=count2++;
cout<<"請輸入姓名:";
cin>>name;
cout<<"請輸入學號:";
cin>>number;
cout<<"請輸入借書證號:";
cin>>zhengnumber;
jsh[k]=shuzheng(name,number,zhengnumber);
cout<<" 借書證注冊成功 "<<endl;
}
else{cout<<"存儲空間已滿"<<endl;}
break;
case 3://借書
int j;
int k;
aa.jieshu();
cin>>bookname;
for(j=0;j<200;j++)
{
if(strcmp(bookname,bcd[j].bookname1)==0)
{
if(bcd[j].flag1==1)
{
cout<<"請輸入你的借書證號:";
cin>>zhengnumber;
for(k=0;k<100;k++)
{
if(strcmp(zhengnumber,jsh[k].zhengnumber1)==0){
bcd[j].flag1=bcd[j].flag1-1;//將標志改為0表示將書借出
cout<<"借書成功"<<endl;
cout<<"****************************************************************************"<<endl;
aa.display();
cout<<"書名:"<<bcd[j].bookname1<<"書號:"<<bcd[j].booknumber1<<"借書證號:"<<jsh[k].zhengnumber1<<endl;
cout<<"****************************************************************************"<<endl;
m=count3++;
jlu[m]=jilu(bookname,booknumber,zhengnumber);
break;
}
else {if(k==99)
cout<<"此證號不存在請確認";
}
}//for
}//if
else{
cout<<"該書已經借出"<<endl;}
break;
}//if
else{ if(j==199)
cout<<"對不起該書沒有庫存:"<<endl;}
}//for
break;
case 4://還書
aa.backbook();
cin>>booknumber;
for(j=0;j<200;j++){
if(bcd[j].flag1==0){
for(j=0;j<200;j++)
{
if(strcmp(booknumber,bcd[j].booknumber1)==0)
{
bcd[j].flag1=bcd[j].flag1+1;
cout<<"還書成功"<<endl;
break;
}//if
else {
if(j==199)
cout<<"無此借書記錄";}
}//for
}
else{if(bcd[j].flag1==1)
cout<<"該書已經在館"<<endl;
break;
}
}//for
break;
case 5://顯示所有注冊的書
cout<<endl<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
for(j=0;j<count1;j++)
{cout<<" "<<j+1<<"\t";
bcd[j].show();
}
cout<<endl<<"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"<<endl;
break;
case 6:
char y1;
cout<<"你確定要退出該系統嗎?";
cout<<"確定請輸入'y',否則則返回系統:";
cin>>y1;
switch(y1){
case 'y':
return;//退出系統
default:
goto lable1;
}
}//switch結束
}//for結束
}//if
}//main結束
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -