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

📄 administrator_switch.cpp

📁 C语言的课程设计。图书管理系统。有一些系统功能不怎么完善
💻 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 + -