📄 management.cpp
字号:
#include"globle.h"
#include"management.h"
void GoodsManagementSystem::readMemberFile(vector<consumer>&vct)
{ //遍历会员数据库文件
ifstream inConsumer("ConsumerStack.txt");
if(!inConsumer)
{
cout<<"can't read the Reader file.";
exit(1);
}
consumer con;
inConsumer.read(reinterpret_cast<char *> ( &con ),sizeof(consumer));
while (inConsumer&&!inConsumer.eof())
{
vct.push_back(con);
inConsumer.read( reinterpret_cast<char *>( &con),sizeof(consumer));
}
inConsumer.close();
}
void GoodsManagementSystem::putMemberinFile(vector<consumer>&vct)
{ //将消费者信息写入文件
ofstream outConsumer("ConsumerStack.txt");
ifstream inConsumer("ConsumerStack.txt");
if(!inConsumer&&!outConsumer)
{
cout<<"can't read in file\n";
exit(1);
}
vector<consumer>::iterator p1;
for(p1=vct.begin();p1!=vct.end();p1++)
outConsumer.write(reinterpret_cast<const char *>(p1),
sizeof(consumer));
outConsumer.close();
inConsumer.close();
}
void GoodsManagementSystem::readGoodsFile(vector<goods> &vct)
{ //遍历商品文件
ifstream inGoods("GoodsStack.txt");
if(!inGoods)
{
cout<<"can't read the Goods file.";
exit(1);
}
goods g;
inGoods.read(reinterpret_cast<char *> ( &g),sizeof(goods));
while (inGoods&&!inGoods.eof())
{
vct.push_back(g);
inGoods.read( reinterpret_cast<char *>( &g),sizeof(goods));
}
inGoods.close();
}
void GoodsManagementSystem::putGoodsInFile(vector<goods>&vct)
{ //将商品写入文件
ofstream outGoods("GoodsStack.txt");
ifstream inGoods("GoodsStack.txt");
if(!inGoods&&!outGoods)
{
cout<<"can't read in file\n";
exit(1);
}
vector<goods>::iterator p1;
for(p1=vct.begin();p1!=vct.end();p1++)
outGoods.write(reinterpret_cast<const char *>(p1),
sizeof(goods));
outGoods.close();
inGoods.close();
}
void GoodsManagementSystem::readDeallogFile(vector<deallog>&dg)
{ //遍历交易记录
ifstream inDealLog("DealLogStack.txt");
if(!inDealLog)
{
cout<<"can't read the DealLog file.";
exit(1);
}
deallog log;
inDealLog.read(reinterpret_cast<char *> (&log ),sizeof(deallog));
while (inDealLog&&!inDealLog.eof())
{
dg.push_back(log);
inDealLog.read( reinterpret_cast<char *>( &log),sizeof( deallog));
}
inDealLog.close();
}
void GoodsManagementSystem::putDeallogInFile(vector<deallog>&dg)
{ //将交易记录写入文件
ofstream outDealLog("DealLogStack.txt");
ifstream inDealLog("DealLogStack.txt");
if(!inDealLog&&!outDealLog)
{
cout<<"can't read in file\n";
exit(1);
}
vector<deallog>::iterator p1;
for(p1=dg.begin();p1!=dg.end();p1++)
outDealLog.write(reinterpret_cast<const char *>(p1),
sizeof(deallog));
outDealLog.close();
inDealLog.close();
}
void GoodsManagementSystem::AdminInterface() //管理员界面
{
ofstream outGoods("GoodsStack.txt",ios::out|ios::app);
ifstream inGoods("GoodsStack.txt");
Admin admin;
vector<goods> g;
vector<consumer>con;
vector<deallog>dg;
cout<<"欢迎使用超市管理系统!!\n";
cout<<"请选择您要实现的功能:\n"<<"1商品入库;2查阅商品;"
<<"3查看会员信息;4修改会员属性;5查询交易记录;0。结束";
int choice;
cin>>choice;
while(choice)
{
switch(choice)
{
case 1:
admin.AddANewGoods(g);
putGoodsInFile(g);
g.clear();
break;
case 2:
admin.findGoods(g);
g.clear();
break;
case 3:
admin.FindAConsumer(con);
con.clear();
break;
case 4:
admin.ModifyAConsumer(con);
con.clear();
break;
case 5:
admin.cheakDealLog(dg);
dg.clear();
break;
default:
cout<<"您输入的选择有误,请重新输入:";
break;
}
cout<<"请选择您要实现的功能:\n"<<"1商品入库;2查阅商品;"
<<"3查看会员信息;4修改会员属性;5查询交易记录;0。结束";
cin>>choice;
}
}
void GoodsManagementSystem::memberInterface(vector<consumer>&vct)
{ //会员界面
vector<goods> g;
vector<deallog> dg;
int number;
cout<<"欢迎使用商品购物系统!!\n";
cout<<"请输入会员号码:";
cin>>number;
readMemberFile(vct);
if(vct.empty())
{
cout<<"没有会员信息!\n";
return;
}
vector<consumer>::iterator p1;
for(p1=vct.begin();p1!=vct.end();p1++)
{
if(p1->getMemberNumber()==number)
break;
}
if(p1==vct.end())
{
cout<<"您尚未注册!\n";
return;
}
cout<<"请选择您要实现的功能:\n"
<<"1购物;2查看积分;3积分兑换商品;4查询交易记录;0结束。";
int choice;
cin>>choice;
while(choice)
{
switch(choice)
{
case 1:
p1->BuyAGoods(g);
g.clear();
break;
case 2:
p1->printAmember();
break;
case 3:
p1->changeGoods(g);
g.clear();
break;
case 4:
p1->checkDeallog(dg);
dg.clear();
break;
case 0:
cout<<"谢谢使用!";
break;
default:
cout<<"您输入的选择有误,请重新输入:";
break;
}
vct.clear();
cout<<"请选择您要实现的功能:\n"
<<"1购物;2查看积分;3积分兑换商品;4查询交易记录;0结束。";
cin>>choice;
}
}
void GoodsManagementSystem::notMbInterface() //非会员界面
{
consumer con;
vector<goods> g;
vector<deallog> dg;
cout<<"欢迎使用商品购物系统!!\n";
cout<<"请选择您要实现的功能:\n"
<<"1购物;2查询交易记录;0结束。";
int choice;
cin>>choice;
while(choice)
{
switch(choice)
{
case 1:
con.BuyAGoods(g);
if(g.empty())
{
cout<<"没有货物\n";
break;
}
g.clear();
dg.clear();
break;
case 2:
con.checkDeallog(dg);
if(dg.empty())
{
cout<<"没有记录!\n";
break;
}
vector<deallog>::iterator p;
cout<<"商品名称"<<setw(10)<<"数量"<<setw(13)<<"消费者号码"
<<setw(20)<<"购物日期"<<setw(15)<<"消费方式"<<endl;
for(p=dg.begin();p!=dg.end();p++)
if(p->getMemberNumber()==0)
p->printDealLog();
dg.clear();
break;
default:
cout<<"您输入的选择有误,请重新输入:";
break;
}
cout<<"请选择您要实现的功能:\n"
<<"1购物;2查询交易记录;0结束。";
cin>>choice;
}
}
void GoodsManagementSystem::registerInterface(vector<consumer>&vct)
{
ofstream outConsumer("ConsumerStack.txt",ios::out|ios::app);
ifstream inConsumer("ConsumerStack.txt"); //新会员注册界面
consumer con;
cout<<"欢迎使用超市购物系统!!\n";
con.setMemberNumber(n2++);
con.setgrade();
con.SetConsumerType(1);
cout<<"您的会员号码为:";
cout<<con.getMemberNumber();
vct.push_back(con);
outConsumer.write(reinterpret_cast<const char *>(vct.begin()),
sizeof(consumer));
cout<<"\n注册成功!!!是否现在就进入超市购物系统?(y/n)";
char c;
cin>>c;
if(c=='y')
memberInterface(vct);
else
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -