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

📄 management.cpp

📁 个人爱好,自己编的小代码.仅供参考
💻 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 + -