⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 小型图书管理系统.cpp

📁 小型图书管理系统
💻 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 + -