📄 main.cpp
字号:
#include "Reader.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
void main()
{
Book aB;//建立书类便于管理员直接对图书进行操作
Reader R;
int Day=0;//计算天数
char choose;//选择变量
int cb;//选择借阅类型
char bname[20],bwriter[20];
int btotal,curr;
int bn;//读入书号
int em;//接收空变量
int bkn;//接收书物理地址
int rn;//当前操作读者位置
char rname[20];//读者姓名
int Flag_start=1;
int Flag_admin=1;
int Flag_reader_login=1;
int Flag_reader=1;
int Flag_cb=1;
int Flag_cr=1;
while(Flag_start)
{
cout <<"\n\n\n\n\n\n\n"<<endl;
cout <<"\t\t\t ************************"<<endl;
cout <<"\t\t\t * 欢迎使用图书管理系统 *"<<endl;
cout <<"\t\t\t ************************"<<endl;
cout <<"\t\t\t $ 1_管理员入口 $" <<endl;
cout <<"\t\t\t $ 2_读者入口 $" <<endl;
cout <<"\t\t\t $ 3_退出本系统 $" <<endl;
choose =getch();
switch(choose)
{
case '1'://*****************************************管理员操作****************************
system("cls");
Flag_admin =1;
aB.ReadBook();//..............................................
R.ReadReader();//.........
while(Flag_admin)
{
cout <<"\t\t\t\t******************" <<endl;
cout <<"\t\t\t\t* 管理员操作平台 *" <<endl;
cout <<"\t\t\t\t*----------------*" <<endl;
cout <<"\t\t\t\t* 1_图书添加入库 *" <<endl;
cout <<"\t\t\t\t* 2_浏览全部图书 *" <<endl;
cout <<"\t\t\t\t* 3_图书书号检索 *" <<endl;
cout <<"\t\t\t\t* 4_图书书名检索 *" <<endl;
cout <<"\t\t\t\t* 5_图书作者检索 *" <<endl;
cout <<"\t\t\t\t* 6_清空图书库存 *" <<endl;
cout <<"\t\t\t\t* 7_查看读者信息 *" <<endl;
cout <<"\t\t\t\t* 8_清空读者信息 *" <<endl;
cout <<"\t\t\t\t* 9_退出操作平台 *" <<endl;
cout <<"\t\t\t\t******************" <<endl;
choose =getch();
switch(choose)
{
case '1':
cout <<"\n书名" <<endl;
gets(bname);
cout <<"\n作者" <<endl;
gets(bwriter);
cout <<"\n总量" <<endl;
cin >>btotal;
aB.AddBook(bname,bwriter,btotal);
cout <<"\n入库成功" <<endl;
break;
case '2':
em =aB.IsEmpty();
if(em ==1)
{
cout<<"以下全部图书信息~~~\n"
<<"序号"<<"\t"
<<"书名"<<"\t\t"
<<"作者"<<"\t\t"
<<"剩余量"<<"\t"
<<"总量"<<"\t"
<<"当前状态"<<endl;
cout<<"-------------------------------------------------------------------"<<endl;
aB.ViewAll();
}
else cout <<"\n书库空" <<endl;
break;
case '3':
em =aB.IsEmpty();
if(em ==1)
{
cout <<"\n请输入要检索的书号" <<endl;
cin >>curr;
bn=aB.FindNum(curr);
if(bn ==-1)
cout <<"\n\t\t\t没找到该序号的图书" <<endl;
}
else cout <<"\n书库空" <<endl;
break;
case '4':
em =aB.IsEmpty();
if(em ==1)
{
cout <<"\n请输入要检索的书名" <<endl;
gets(bname);
bkn=aB.FindName(bname,0);
}
else cout <<"\n书库空" <<endl;
break;
case '5':
em =aB.IsEmpty();
if(em ==1)
{
cout <<"\n请输入要检索的作者" <<endl;
gets(bwriter);
bkn=aB.FindWriter(bwriter,0);
}
else cout <<"\n书库空" <<endl;
break;
case '6':
Flag_cb=1;
em =aB.IsEmpty();
if(em ==1)
{
while(Flag_cb)
{
cout <<"\n确认是否要清空图书数据库?(y/n)" <<endl;
choose=getch();
switch(choose)
{
case 'y':
aB.CleanBook();
Flag_cb=0;
aB.~Book();
cout <<"\n\t\t\t图书数据空清空" <<endl;
break;
case 'n':
Flag_cb=0;
break;
default:
cout <<"\n\t\t\t输入错误~~请按提示输入……" <<endl;
break;
}
}
}
else cout <<"\n书库空" <<endl;
break;
case '7':
cout<<"请输入您要查看的读者名:"<<endl;
gets(rname);
rn=R.Login(rname);
if(rn!=-1)
{
R.ViewReader(rn);
}
else
cout<<"不存在指定编号的读者信息"<<endl;
break;
case '8':
Flag_cr=1;
while(Flag_cr)
{
cout <<"\n确认是否要清空读者数据库?(y/n)" <<endl;
choose=getch();
switch(choose)
{
case 'y':
R.CleanReader();
Flag_cr=0;
cout <<"\n\t\t\t读者数据空清空" <<endl;
R.~Reader();
break;
case 'n':
Flag_cr=0;
break;
default:
cout <<"\n\t\t\t输入错误~~请按提示输入……" <<endl;
break;
}
}
break;
case '9':
Flag_admin=0;
R.~Reader();//.........................
aB.~Book();//.........
break;
default:
cout <<"\n\t\t\t输入错误~~请按提示输入……" <<endl;
break;
}
cout <<"\n\n\n\t\t\t按任意键返回菜单~~~~~" <<endl;
getch();
system("cls");
}
break;
case '2'://**************************************读者**********************************
system("cls");
Flag_reader_login=1;
R.ReadReader();//..................................
while(Flag_reader_login)
{
cout <<"\t\t\t\t======================"<<endl;
cout <<"\t\t\t\t★ 欢迎使用读者系统 ★" <<endl;
cout <<"\t\t\t\t======================"<<endl;
cout <<"\t\t\t\t ◇1_登陆◇" <<endl;
cout <<"\t\t\t\t ◇2_注册◇" <<endl;
cout <<"\t\t\t\t ◇3_退出◇" <<endl;
choose =getch();
switch(choose)
{
case '1':
cout <<"\n请输入用户名:" <<endl;
gets(rname);
rn=R.Login(rname);
if(rn!=-1)
{
cout <<"\n\t\t\t\t\t登陆成功" <<endl;
getch();
system("cls");
Flag_reader =1;
while(Flag_reader)
{
system("cls");
cout <<"\t\t\t\t〓〓〓〓〓〓〓" <<endl;
cout <<"\t\t\t\t▲ 欢迎登陆 ▲" <<endl;
cout <<"\t\t\t\t〓〓〓〓〓〓〓" <<endl;
cout <<"\t\t\t\t○1_书名检索○" <<endl;
cout <<"\t\t\t\t○2_作者检索○" <<endl;
cout <<"\t\t\t\t○3_还书操作○" <<endl;
cout <<"\t\t\t\t○4_我的信息○" <<endl;
cout <<"\t\t\t\t○5_安全退出○" <<endl;
choose=getch();
switch(choose)
{
case '1':
cout <<"\n请输入要检索的书名:" <<endl;
gets(bname);
bkn=R.FindName(bname);
if(bkn!=-1)
{
cout<<"请选择您要进行的借阅类型~~~1.借阅 2.预借~~"<<endl;
while(1)
{
cin>>cb;
if(cb==1)
{
curr=R.BorBooks(rn);
break;
}
else if(cb==2)
{
curr=R.DestineBooks(rn);
break;
}
else
cout <<"\n\t\t\t输入错误~~请按提示输入……" <<endl;
}
if(curr ==1)
cout <<"\n\t\t\t借书成功" <<endl;
else if(curr ==-1)
cout <<"\n\t\t\t该书没有库存" <<endl;
else
cout <<"\n\t\t\t你的借书或预借数量已满,请查看后再借!" <<endl;
break;
}
break;
case '2':
cout <<"\n请输入要检索的作者:" <<endl;
gets(bwriter);
bkn=R.FindWriter(bwriter);
if(bkn!=-1)
{
cout<<"请选择您要进行的借阅类型~~~1.借阅 2.预借~~"<<endl;
while(1)
{
cin>>cb;
if(cb==1)
{
curr=R.BorBooks(rn);
break;
}
else if(cb==2)
{
curr=R.DestineBooks(rn);
break;
}
else
cout <<"\n\t\t\t输入错误~~请按提示输入……" <<endl;
}
if(curr ==1)
cout <<"\n\t\t\t借书成功" <<endl;
else if(curr ==-1)
cout <<"\n\t\t\t该书没有库存" <<endl;
else
cout <<"\n\t\t\t你的借书或预借数量已满,请查看后再借!" <<endl;
break;
}
break;
case '3':
R.ViewReader(rn);
cout<<"请选择您要进行的还书类型~1.归还已借图书 2.取消预借图书~"<<endl;
while(1)
{
cin>>cb;
if(cb==1)
{
cout <<"\n请输入要还书的书号:" <<endl;
cin >>bn;
curr =R.ReturnBooks(bn,rn);
break;
}
else if(cb==2)
{
cout <<"\n请输入要取消预借的书号:" <<endl;
cin >>bn;
curr =R.DesRBooks(bn,rn);
break;
}
else
cout <<"\n\t\t\t输入错误~~请按提示输入……" <<endl;
}
if(curr ==-1)
cout <<"\n错误的还书书号" <<endl;
else if(curr ==-2)
cout <<"\n您还没有借书" <<endl;
else
cout <<"\n还书成功" <<endl;
break;
case '4':
R.ViewReader(rn);
break;
case '5':
Flag_reader=0;
break;
default:
cout <<"\n\t\t\t输入错误~~请按提示输入……" <<endl;
break;
}
cout <<"\n\n\n\t\t\t按任意键返回菜单~~~~~" <<endl;
getch();
system("cls");
}
}
else
{
cout <<"\n\t您输入的用户名不存在,请从新输入或先注册~~" <<endl;
}
break;
case '2':
cout <<"\n请输入要注册的用户名:" <<endl;
gets(rname);
rn=R.AddReader(rname);
cout <<"\n\t\t\t注册成功,您的编号为"
<<rn<<"请重新登陆" <<endl;
break;
case '3':
Flag_reader_login=0;
R.~Reader();//.......................
aB.ReadBook();//......
aB.~Book();//.......
break;
default:
cout <<"\n\t\t\t输入错误~~请按提示输入……" <<endl;
break;
}
cout <<"\n\n\n\t\t\t按任意键返回菜单~~~~~" <<endl;
getch();
system("cls");
}
break;
case '3':
Flag_start=0;
system("cls");
cout<<"\n\n\n\n\n\n\n\n\n\n\n\n"
<<"\t\t感谢对本系统支持~祝您好运 ~_^软件054赵寅"
<<"\n\n\n\n\n\n\n\n\n\n\n\n" <<endl;
break;
default:
cout <<"\n\t\t\t输入错误~~请按提示输入……" <<endl;
break;
}
cout <<"\n\n\n\t\t\t按任意键返回主菜单~~~~~" <<endl;
getch();
system("cls");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -