📄 administrator.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 + -