📄 administrator_switch.cpp
字号:
#include"stdio.h"
#include"iostream.h"
#include"book_struct.h"
#include"acridine.h"
int judge_number(int &i,char string[]);
void admin_switch();
void add_book(bomas B);
void book_inquire_switch(bomas B,char n[]);
int del_book(bomas &B,member head);
void borrow(bomas &B,acridine *&p1);
void return_book(bomas B,acridine *p1);
void book_inquire_menu();
void save_book(bomas B);//将图书信息储存到文件中
void deluser(member &head);//删除会员,在链表中删除结点并把新链表读进文件中覆盖文件原来的信息,更新
//int deluser(int a);
int search_by_true_name(member head,member &p0);//按真实姓名查找会员
int search_book_number(bomas B,double book_number,bomas &p1);//按图书编号查找图书,并记录该图书的地址
int writeintobook(member &yonghu);//把从实参传过来的yonghu链表(yonghu为头结点)的信息写进文件
void judge(char ch,double &n);
void switch_change_book_massage(bookmassage *p1,char n[]);
void administrator_switch(bomas &B,char n[],member &head)//本函数将管理员的相关操作封装起来,被循环调用,B为图书链表的头结点;
{ //head为指向记录会员信息的链表的头指针,数组n记录选择操作的数字;
int i=0; //函数结束时,将n[0]带回到循环,用于判断循环是否结束
acridine *p0;
bomas p1=NULL;
int flag;
char ch;
double num=0;
n[0]=-1;
flag=judge_number(i,n);//对输入的数字做判断,看其是否规范
if(i>1||!flag)
{
cout<<" 输入不正确!"<<endl;
}
else
{
switch(n[0])
{
case'1'://图书信息查询
system("cls");
while(n[0]!='0')
{
book_inquire_menu();//图书查询菜单函数
book_inquire_switch(B,n);//图书查询操作
}
n[0]=-1;//防止n[0]的残留值对下次调用造成影响
break;
case'2'://增加图书
add_book(B);
save_book(B);
cout<<endl<<" 请按回车键返回主菜单"<<endl;
printf(" ");
while((ch=getchar())!='\n');//按回车键返回主菜单
{}
system("cls");
break;
case'3'://删除图书
del_book(B,head);
save_book(B);
cout<<endl<<" 请按回车键返回主菜单"<<endl;
printf(" ");
while((ch=getchar())!='\n');//按回车键返回主菜单
{}
system("cls");
break;
case'4'://借书
flag=search_by_true_name(head,p0);
if(!flag)//找不到图书
break;
borrow(B,p0);
save_book(B);
writeintobook(head);
cout<<endl<<" 请按回车键返回主菜单"<<endl;
printf(" ");
while((ch=getchar())!='\n');//按回车键返回主菜单
{}
system("cls");
break;
case'5'://还书
flag=search_by_true_name(head,p0);
if(flag==0)
break;
return_book(B,p0);
save_book(B);
writeintobook(head);
cout<<endl<<" 请按回车键返回主菜单"<<endl;
printf(" ");
while((ch=getchar())!='\n');//按回车键返回主菜单
{}
system("cls");
break;
case'6'://删除会员
deluser(head);//已经包含信息保存到文件的操作
cout<<endl<<" 请按回车键返回主菜单"<<endl;
printf(" ");
while((ch=getchar())!='\n');//按回车键返回主菜单
{}
system("cls");
break;
case'7'://修改图书信息
cout<<" 请输入您要修改的图书的书号"<<endl;
judge(ch,num);
search_book_number(B,num,p1);
if(p1)
{
while(n[0]!='0')
{
switch_change_book_massage(p1,n);
}
n[0]=-1;
}
save_book(B);
break;
case'0'://退出
system("cls");
break;
default:
cout<<" 输入不正确!"<<endl;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -