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

📄 administrator.h

📁 小型图书馆管理系统
💻 H
字号:
#ifndef ADMINISTRATOR_H
#define ADMINISTRATOR_H
#include"guest.h"

//*****************************************************************************
//*                           Add(采编入库)函数                             *
//*****************************************************************************

void Add(void)
{
	int book,data,num;
	char select,name[30];
	float t;
	
loope:
	system("cls");
	cout<<endl<<endl<<endl<<endl<<endl<<endl;
	cout<<"        请输入新增图书的书号:";
	cin>>data;
	cout<<endl;
	Numsort(1,max-1);
	book=Search(data,1,max-1);           //完成查找
	if(book)
	{
		cout<<"            库内已有此种图书"<<endl;
		cout<<endl<<"               书号:"<<Book[book].getNum()<<endl;
		cout<<"               书名:"<<Book[book].getTitle()<<endl;
		cout<<"               作者:"<<Book[book].getAuthor()<<endl;
		cout<<"             出版社:"<<Book[book].getPub()<<endl;
		cout<<"             库存量:"<<Book[book].getQty()<<"本"<<endl;
		cout<<"               售价:"<<Book[book].getCost()<<"元"<<endl;
		cout<<endl<<"                       您需要增加库存多少本?";
		cin>>num;
		cout<<endl;
		Book[book].setTot(Book[book].getTot()+num);
		Book[book].setQty(Book[book].getQty()+num);        //完成添加入库
	}
	else      //未查找到
	{
		cout<<endl<<"         这是一种新书,此前没有库存"<<endl<<endl;
		Book[max].setNum(data);
		cout<<"      请输入本书的书名:";
		cin>>name;
		cout<<endl;
		Book[max].setTitle(name);
		cout<<"      请选择本书的类型:"<<endl;
		cout<<"            1.教育 2.军事 3.历史 4.文学 5.科技 6.娱乐"<<endl;;
		
		do
		{
			cout<<"                     请在数字1-6的范围内输入:";
			cin>>data;
			cin.ignore();
			cout<<endl;
		}while(data<1 || data>6);
		
		Book[max].setKind(data);
		cout<<"      请输入本书的作者:";
		cin>>name;
		cout<<endl;
		Book[max].setAuthor(name);
		cout<<"      请输入本书的出版社:";
		cin>>name;
		cout<<endl;
		Book[max].setPub(name);
		cout<<"      请输入需要增加的数量(本):";
		cin>>data;
		cout<<endl;
		Book[max].setTot(data);
		Book[max].setQty(data);
		cout<<"      请输入本书的单价(元):";
		cin>>t;
		cout<<endl;
		Book[max].setCost(t);
		max++;           //更改当前图书种类数
	}
	cout<<"          操作成功,";
	
	do
	{
		cout<<"还要添加其他图书吗?(Y/N)"<<endl;
		cin>>select;
		select=toupper(select);
		cin.ignore();
	}while(select!='Y' && select!='N');

	if(select=='Y') goto loope;
	else
		cout<<"           完成采编入库。"<<endl;
}

//*****************************************************************************
//*                          Delete(清除库存)函数                           *
//*****************************************************************************

void Delete(void)
{
	int data,book;
	char select;
	
loope:
	system("cls");
	cout<<endl<<endl<<endl<<endl;
	cout<<"        请输入需清除图书的书号:";
	cin>>data;
	cout<<endl;
	Numsort(1,max-1);
	book=Search(data,1,max-1);           //完成查找
	
	if(book)
	{
		cout<<"             此种图书现有情况为:"<<endl;
		cout<<"               书号:"<<Book[book].getNum()<<endl;
		cout<<"               书名:"<<Book[book].getTitle()<<endl;
		cout<<"               类型:";
				
		switch(Book[book].getKind())
		{
			case 1: cout<<"教育"; break;
			case 2: cout<<"军事"; break;
			case 3: cout<<"历史"; break;
			case 4: cout<<"文学"; break;
			case 5: cout<<"科技"; break;
			case 6: cout<<"娱乐"; break;
		}
				
		cout<<endl;
		cout<<"               作者:"<<Book[book].getAuthor()<<endl;
		cout<<"             出版社:"<<Book[book].getPub()<<endl;
		cout<<"             库存量:"<<Book[book].getQty()<<"本"<<endl;
		cout<<"               售价:"<<Book[book].getCost()<<"元"<<endl;
		
		do
		{
			cout<<endl<<"            确定需要清理吗?(Y/N)"<<endl;
			cin>>select;
			select=toupper(select);
			cin.ignore();
		}while(select!='Y' && select!='N');
		
		cout<<endl;
		if(select=='Y')
		{
			for(int i=book;i<max;i++) Book[i]=Book[i+1];
			max--;				
			cout<<"              本书的资料已经清除完成。"<<endl<<endl;
		}
	}
	else
		cout<<"            本店没有此种图书,或此书已被清除,请确认。"<<endl<<endl;
	do
	{
		cout<<"            要继续清理其他图书吗?(Y/N)"<<endl;
		cin>>select;
		select=toupper(select);
		cin.ignore();
	}while(select!='Y' && select!='N');

	if(select=='Y') goto loope;
	else
		cout<<"           已完成本次清理库存工作。"<<endl;
}

//*****************************************************************************
//*                          Price(设置折扣)函数                            *
//*****************************************************************************

float Price(float per)
{
	int choice;
	float percent;
	char select;
	
	do{
		system("cls");
		cout<<endl<<endl<<endl<<endl<<endl<<endl<<endl;
		cout<<"                          管理员您好,请选择新折扣:"<<endl<<endl;
		cout<<"                1.九五折 2.九折 3.八五折 4.八折 5.七五折 6.七折"<<endl<<endl;
		cout<<"                            7.取消折扣  8.返回"<<endl<<endl;
		
		do
		{
			cout<<"                          请在数字1-8的范围内选择:";
			cin>>choice;
			cin.ignore();
			cout<<endl;
		}while(choice<1 || choice>8);
		
		do
		{
			cout<<"                                确认吗?(Y/N)"<<endl;
			cin>>select;
			select=toupper(select);
			cin.ignore();
		}while(select!='Y' && select!='N');
	}while(select!='Y');
	
	switch(choice)
	{
		case 1: percent=0.95f; break;
		case 2: percent=0.9f; break;
		case 3: percent=0.85f; break;
		case 4: percent=0.8f; break;
		case 5: percent=0.75f; break;
		case 6: percent=0.7f; break;
		case 7: percent=1.0f; break;
		case 8: percent=per; break;
	}

	return percent;
}

//*****************************************************************************
//*                         Admin(管理员名单)函数                           *
//*****************************************************************************

void Admin(void)
{
	Administrator *limits1,*limits2,*p;
	fstream dataFile;
	int playtime;
	
	dataFile.open("Advanced.dat",ios::in);
	if(!dataFile)
	{
		cout<<"          高级管理员文件出现错误,程序中止!"<<endl;
		cin.get();
		return;
	}
	limits1=new Administrator;
	
	while(!dataFile.eof())
	{
		p=new Administrator;
		dataFile>>p->name;
		dataFile>>p->password;
		p->next=limits1->next;
		limits1->next=p;
	}    //读取高级管理员资料至类变量
	dataFile.close();
	
	dataFile.open("Common.dat",ios::in);
	if(!dataFile)
	{
		cout<<"          普通管理员文件出现错误,程序中止!"<<endl;
		cin.get();
		return;
	}
	limits2=new Administrator;
	
	while(!dataFile.eof())
	{
		p=new Administrator;
		dataFile>>p->name;
		dataFile>>p->password;
		p->next=limits2->next;
		limits2->next=p;
	}    //读取普通管理员资料至类变量
	dataFile.close();
	
	system("cls");
	cout<<endl<<endl<<endl<<endl<<"                           管理员名单如下:"<<endl;
	cout<<endl<<"               1. 高级管理员:"<<endl<<endl<<"                  ";
	
	for(playtime=0,p=limits1->next->next;p;p=p->next)
	{
		cout<<setw(6)<<p->name<<"  ";
		if(++playtime%5==0) cout<<endl<<endl<<"                  ";
	}
	
	cout<<endl<<endl<<"               2. 普通管理员:"<<endl<<endl<<"                  ";

	for(playtime=0,p=limits2->next->next;p;p=p->next)
	{
		cout<<setw(6)<<p->name<<"  ";
		if(++playtime%5==0) cout<<endl<<endl<<"                  ";
	}
	
	cout<<endl<<endl<<"                                                     按回车键返回"<<endl;
	cin.get();	
}
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -