sp.cpp

来自「深入浅出Visual C++入门进阶与应用实例 随书光盘 作者 何志丹」· C++ 代码 · 共 94 行

CPP
94
字号
//sp.cpp
#include "stdafx.h"
#include "AfxTempl.h"
#include "sp.h"


CArray<Merchandise*,Merchandise*> g_Storage ;//记录仓库的货物信息
CArray<Merchandise*,Merchandise*> g_counter ;//记录柜台的货物信息

bool Buy(UINT uID)
{
	Merchandise *pMerch = new Merchandise ;
	pMerch->m_uID = uID ;
	g_Storage.Add(pMerch);
	
	return true ;
}

bool Sell(UINT uID)
{
	for(int i = g_counter.GetSize() - 1 ; i >= 0 ; i-- )
	{
		Merchandise * pMerch = g_counter[i] ;
		if(NULL == pMerch)
			continue ;
		if(uID == pMerch->m_uID)
		{
			delete pMerch ;
			g_counter.RemoveAt(i);
			return true ;
		}
	}
	
	return false ;
}


bool SaveToStorage(UINT uID)
{
	for(int i = g_counter.GetSize() - 1 ; i>= 0 ; i-- )
	{
		if( uID == g_counter[i]->m_uID)
		{
			g_Storage.Add(g_counter[i]);
			g_counter.RemoveAt(i);
			
			return true ;
		}
	}
	
	return false ;
}

bool GetFromStorage(UINT uID)
{
	for(int i = g_Storage.GetSize() - 1 ; i >= 0 ; i--)
	{
		if(uID == g_Storage[i]->m_uID)
		{
			g_counter.Add(g_Storage[i]);
			g_Storage.RemoveAt(i);			
			return true ;
		}
	}

	return false ;
}

void Init()
{
	g_Storage.RemoveAll() ;
	g_counter.RemoveAll() ;
	//从数据库读取信息
}

void Release()
{
	for(int i = g_Storage.GetSize() -1 ; i >= 0  ; i-- )
	{
		Merchandise * pMerch = g_Storage[i] ;
		if(NULL == pMerch )
			continue ;
		delete pMerch ;
	}
	
	for(i = g_counter.GetSize() - 1 ; i >= 0  ; i-- )
	{
		Merchandise * pMerch = g_counter[i] ;
		if(NULL == pMerch )
			continue ;
		delete pMerch ;
	}
}

⌨️ 快捷键说明

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