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