课程设计,图书馆管理系统

#include <iostream>
#include <iomanip>
#include <string> 
using namespace std;
//定义一个图书基础资料类
class bookdata_base
{
private:
int number;
string name;
string writer; 
float prize; 
public:
bookdata_base(){}
void input();
int disp(int a);
int change(int a);
int del(int a);


};
void bookdata_base::input()
{
cout<<"输入书的编号"<<endl;
cin>>number;
cout<<"输入书名"<<endl;
cin>>name;
cout<<"输入作者"<<endl;
cin>>writer;
cout<<"输入价格"<<endl;
cin>>prize;
}
int bookdata_base::change(int a)
{
if(a!=number){return 0;}//返回0就是这个编号不是该书本编号
else return 1;//假如返回1就找到了该书本
}
int bookdata_base::disp(int a)
{
if(a!=number)return 0;
else
{
cout<<"书名:"<<name<<endl;
cout<<"编号:"<<number<<endl;
cout<<"作者:"<<writer<<endl;
cout<<"价格:"<<prize<<endl;
return 1;
}
}
int bookdata_base::del(int a)
{
if(a!=number){return 0;}
else return 1;//同理
}
class readerData
{
private:
int number;
string name;
string id; 
public:
readerData(){}
void input();
int disp(int a);
int change(int a);
int del(int a);
};
void readerData::input()
{
cout<<"输入读者编号"<<endl;
cin>>number;
cout<<"输入读者姓名"<<endl;
cin>>name;
cout<<"输入读者身份证号码"<<endl;
cin>>id;
}
int readerData::change(int a)
{
if(a!=number)return 0;
else return 1;//同理
}
int readerData::disp(int a)
{
if(a!=number)return 0;
else
{
cout<<"读者编号:"<<number<<endl;
cout<<"读者姓名:"<<name<<endl;
cout<<"读者身份证号码:"<<id<<endl;
return 1;
}
}
int readerData::del(int a)
{
if(a!=number){return 0;}
else return 1;
}
int book=0;//定义一个全局函数来标记当前图书输入的位置
int reader=0;//同上




//定义一个系统管理类 来统一管理
class System
{
private: bookdata_base b[100];
readerData r[100];
public:void menu();
  void change(int a);//系统管理类的修改函数 a=1就会修改图书类 2就会修改读者类 以下函数相似
  void input(int a);
  void del(int a);
  void serch(int a);
};
void System::input(int a)
{
char xz;
int i;
switch(a)
{
case 1:
i=book;//把输入到第几本书 赋值给i
do
{
cout<<"输入第"<<book+1<<"本书本的信息"<<endl;
b[i].input();
book++;//每输入一本书 book自加
i++;
cout<<"是否继续输入 (y/Y)继续 其它任意键取消"<<endl;
cin>>xz;
}while(xz=='y'||xz=='Y');
break;
case 2:
i=reader;//同上
do
{
cout<<"请输入第"<<reader+1<<"个读者信息"<<endl;
r[i].input();
reader++;
i++;
cout<<"是否继续输入 (y/Y)继续 其它任意键取消"<<endl;
cin>>xz;
}while(xz=='y'||xz=='Y');
break;
}
}
void System::change(int a)
{
int num;char xz;
int i;
switch(a)
{
case 1:
cout<<"输入你要修改书本的编号"<<endl;
cin>>num;
for(i=0;i<book;i++)
{
if(b[i].change(num)==1)break;
}
if(i==book)
{
cout<<"找不到该编号书本"<<endl;system("puase");return;
}
cout<<"是否确认修改(Y/y)确认 任意字符取消"<<endl;
cin>>xz;
if(xz!='y'&&xz!='Y')return;
b[i].input();
cout<<"修改成功"<<endl;system("pause");break;
case 2:
cout<<"输入你要修改读者的编号"<<endl;
cin>>num;
for(i=0;i<reader;i++)
{
if(r[i].change(num)==1)break;
}
if(i==reader)
{
cout<<"找不到该编号读者"<<endl;system("pause");return;
}
cout<<"是否确认修改(Y/y)确认 任意字符取消"<<endl;
cin>>xz;
if(xz!='y'&&xz!='Y')return;
r[i].input();
cout<<"修改成功"<<endl;break;




}
}
void System::del(int a)//
{
int num;char xz;
int i;
switch(a)
{
case 1:
cout<<"输入你要删除书本的编号"<<endl;
cin>>num;
for(i=0;i<book;i++)
{
if(b[i].del(num)==1)break;
}
if(i==book){cout<<"找不到该编号的书本"<<endl;system("pause");return;}
cout<<"是否确认删除(Y/y)确认 任意字符取消"<<endl;
cin>>xz;
   if(xz!='y'&&xz!='Y')return;
for(;i<book-1;i++)
{
b[i]=b[i+1];
}
book--;
cout<<"删除成功"<<endl;
system("pause");break;
case 2: ;
cout<<"输入你要删除读者的编号"<<endl;
cin>>num;
for(i=0;i<reader;i++)
{
if(r[i].del(num)==1)break;
}
if(i==reader){cout<<"找不到该编号的读者"<<endl;system("pause");return;}
cout<<"是否确认删除(Y/y)确认 任意字符取消"<<endl;
cin>>xz;
   if(xz!='y'&&xz!='Y')return;
for(;i<reader-1;i++)
{
r[i]=r[i+1];
}
reader--;
cout<<"删除成功"<<endl;
system("pause");break;
}
}
void System::serch(int a)
{
int num;int i;
switch(a)
{
case 1:
cout<<"输入要查询书本的编号"<<endl;
cin>>num;
for(i=0;i<book;i++)
{
if(b[i].disp(num)==1){system("pause");return;}
}
if(i==book){cout<<"找不到该编号书本"<<endl;system("pause");return;}break;
case 2:
cout<<"输入要查询读者的编号"<<endl;
cin>>num;
for(i=0;i<reader;i++)
{
if(r[i].disp(num)==1){system("pause");return;}
}
if(i==reader){cout<<"找不到该编号读者"<<endl;system("pause");return;}break;
}
}
void System::menu()
{
int sel;
while(1)
{
system("cls");
cout<<"******************************************************"<<endl;
cout<<"**********************图书管理系统********************"<<endl;
cout<<"******************************************************"<<endl;
cout <<"\t\t 1图书管理\n\n\t\t 2读者管理 \n\n\t\t 0 离 开"<<endl;
cin>>sel;
switch(sel)
{
case 1:cout<<"①录入书本②修改书本信息③搜索书本信息④删除书本信息"<<endl;
cin>>sel;
switch(sel)
{
case 1:input(1);break;
case 2:change(1);break;
case 3:serch(1);break;
case 4:del(1);break;
}break;
case 2:
cout<<"①录入读者②修改读者信息③搜索读者信息④删除读者信息"<<endl;
cin>>sel;
switch(sel)
{
case 1:input(2);break;
case 2:change(2);break;
case 3:serch(2);break;
case 4:del(2);break;
}break;
case 0:exit(0);
}
}
}
int main()
{
System s;
s.menu();
return 0;
}



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值