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 + -
显示快捷键?