#include "dataType.h"
/*****************************************
* 模块名:LINK
* 功 能:用于对链表的相关操作
*
* 作 者:武哲
* 日 期:2010.10.26
******************************************/
/******************************************
/ 功 能:遍历账户链表获得账户的个数
/ 输入参数:账户的头指针
/ 输出参数:账户的个数
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
int ErgodicNode(LPACCOUNTNODE pAccountHead)
{
int count=0; //记录账户的个数
if( NULL != pAccountHead)
{
LPACCOUNTNODE Ptemp=pAccountHead;
while( NULL != Ptemp)
{
count++;
Ptemp=Ptemp->m_pNext;
}
}
else
{
count=0;
}
return count;
}
/******************************************
/ 功 能:创建账户节点
/ 输入参数:无
/ 输出参数:账户的头指针
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
LPACCOUNTNODE CreateNode()
{
LPACCOUNTNODE pNode = new ACCOUNTNODE;
pNode->m_pFetchHead = NULL;
pNode->m_pStoreHead = NULL;
pNode->m_pTransferHead = NULL;
pNode->m_pNext = NULL;
return pNode;
}
/******************************************
/ 功 能:将账户信息复制到账户节点中
/ 输入参数:账户的头指针,账户信息
/ 输出参数:无
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
void CopyAccountToNode(LPACCOUNT pAccount, LPACCOUNTNODE pNode)
{
assert((NULL != pAccount) && (NULL != pNode));
LPACCOUNT pAccountObj = &(pNode->m_Account);
strcpy(pAccountObj->m_AccountId, pAccount->m_AccountId);
strcpy(pAccountObj->m_AccountName, pAccount->m_AccountName);
strcpy(pAccountObj->m_Password, pAccount->m_Password);
strcpy(pAccountObj->m_CardId, pAccount->m_CardId);
pAccountObj->m_Balance = pAccount->m_Balance;
pAccountObj->m_LockState = pAccount->m_LockState;
}
/******************************************
/ 功 能:添加账户节点到账户链表
/ 输入参数:账户的头指针,账户信息
/ 输出参数:账户的头指针
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
LPACCOUNTNODE AddAccountToLink(LPACCOUNTNODE pHead, LPACCOUNT pAccount)
{
assert(NULL != pAccount);
// 构建节点
LPACCOUNTNODE pNode = CreateNode();
// 将帐户信息复制到节点中
CopyAccountToNode(pAccount, pNode);
// 将节点添加到链表中
pNode->m_pNext = pHead;
pHead = pNode;
return pHead;
}
/******************************************
/ 功 能:创建取款节点
/ 输入参数:无
/ 输出参数:取款的头指针
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
LPFETCHNODE CreateDrawMoneyRecordNode()
{
LPFETCHNODE pNode = new FETCHNODE;
pNode->m_pNext=NULL;
return pNode;
}
/******************************************
/ 功 能:将取款信息复制到取款节点中
/ 输入参数:取款的头指针,取款信息
/ 输出参数:无
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
void CopyDrawMoneyRecordToNode(LPFETCH pFetch, LPFETCHNODE pNode)
{
assert((NULL != pFetch) && (NULL != pNode));
LPFETCH pDrawMoneyRecordObj = &(pNode->m_Data);
strcpy(pDrawMoneyRecordObj->date,pFetch->date);
pDrawMoneyRecordObj->Fetch=pFetch->Fetch;
}
/******************************************
/ 功 能:添加取款节点到取款链表
/ 输入参数:取款的头指针,取款信息
/ 输出参数:取款的头指针
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
LPFETCHNODE AddDrawMoneyRecordToLink(LPFETCHNODE pHead, LPFETCH pFetch)
{
assert(NULL != pFetch);
// 构建节点
LPFETCHNODE pNode = CreateDrawMoneyRecordNode();
// 将取款信息复制到节点中
CopyDrawMoneyRecordToNode(pFetch, pNode);
// 将节点添加到链表中
pNode->m_pNext = pHead;
pHead = pNode;
return pHead;
}
/******************************************
/ 功 能:创建存款节点
/ 输入参数:无
/ 输出参数:存款的头指针
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
LPSTORENODE CreateDepositMoneyRecordNode()
{
LPSTORENODE pNode = new STORENODE;
pNode->m_pNext=NULL;
return pNode;
}
/******************************************
/ 功 能:将存款信息复制到存款节点中
/ 输入参数:存款的头指针,存款信息
/ 输出参数:无
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
void CopyDepositMoneyRecordToNode(LPSTORE pStore, LPSTORENODE pNode)
{
assert((NULL != pStore) && (NULL != pNode));
LPSTORE pDepositMoneyRecordObj = &(pNode->m_Data);
strcpy(pDepositMoneyRecordObj->date,pStore->date);
pDepositMoneyRecordObj->Store =pStore->Store ;
}
/******************************************
/ 功 能:添加存款节点到存款链表
/ 输入参数:存款的头指针,存款信息
/ 输出参数:存款的头指针
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
LPSTORENODE AddDepositMoneyRecordToLink(LPSTORENODE pHead,LPSTORE pStore)
{
assert(NULL != pStore);
// 构建节点
LPSTORENODE pNode = CreateDepositMoneyRecordNode();
// 将帐户信息复制到节点中
CopyDepositMoneyRecordToNode(pStore,pNode);
// 将节点添加到链表中
pNode->m_pNext = pHead;
pHead = pNode;
return pHead;
}
/******************************************
/ 功 能:创建转账节点
/ 输入参数:无
/ 输出参数:转账链表的头指针
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
LPTRANSFERNODE CreateTransferMoneyRecordNode()
{
LPTRANSFERNODE pNode = new TRANSFERNODE;
pNode->m_pNext=NULL;
return pNode;
}
/******************************************
/ 功 能:将转账信息复制到转账节点中
/ 输入参数:转账链表的头指针,转账信息
/ 输出参数:无
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
void CopyTransferMoneyRecordNode(LPTRANSFER pTransfer,LPTRANSFERNODE pNode)
{
assert((NULL != pTransfer) && (NULL != pNode));
LPTRANSFER pTransferMoneyRecordObj = &(pNode->m_Data);
strcpy(pTransferMoneyRecordObj->date,pTransfer->date);
strcpy(pTransferMoneyRecordObj->t_AccountId,pTransfer->t_AccountId);
pTransferMoneyRecordObj->Transfer =pTransfer->Transfer;
pTransferMoneyRecordObj->InorOut= pTransfer->InorOut;
}
/******************************************
/ 功 能:添加一条记录到转账链表
/ 输入参数:转账链表的头指针,转账信息
/ 输出参数:转账链表的头指针
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
LPTRANSFERNODE AddTransferMoneyRecordToLink(LPTRANSFERNODE pHead,LPTRANSFER pTransfer)
{
assert(NULL != pTransfer);
// 构建节点
LPTRANSFERNODE pNode = CreateTransferMoneyRecordNode();
// 将帐户信息复制到节点中
CopyTransferMoneyRecordNode(pTransfer,pNode);
// 将节点添加到链表中
pNode->m_pNext = pHead;
pHead = pNode;
return pHead;
}
/******************************************
/ 功 能:释放取款链表
/ 输入参数:取款的头指针
/ 输出参数:取款的头指针
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
LPFETCHNODE ReleaseFetchLink(LPFETCHNODE pHead)
{
while (NULL != pHead)
{
LPFETCHNODE pNode = pHead;
pHead = pHead->m_pNext;
delete pNode;
pNode = NULL;
}
return pHead;
}
/******************************************
/ 功 能:释放存款链表
/ 输入参数:存款的头指针
/ 输出参数:存款的头指针
/*作 者:武哲
/*版 本:v1.0
/*修改日期:2010.10.26
******************************************/
LPSTORENODE ReleaseStoreLink(LPSTORENODE pHead)
{
while (NULL != pHead)
{
LPSTORENODE pNode = pHead;
pHead = pHead->m_pNext;
delete pNode;
pNode = NULL;
}
return pHead;
}
/*********************
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
新建文件夹 (2).zip (69个子文件)
新建文件夹 (2)
哈哈ATM
~VCA68E.tmp 54KB
~VC8F25.tmp 54KB
ATM机项目.dsw 518B
ATM
main.cpp 2KB
file.cpp 7KB
main.h 224B
ConsoleOut.lib 24KB
ConsoleOut.h 3KB
LogonToOperate.cpp 7KB
dataSave.cpp 0B
file.h 1KB
SELECTSTATE.H 2KB
Store.bin 0B
logon.cpp 2KB
Fetch.bin 0B
dataType.h 3KB
SELECTSTATE.CPP 3KB
LogonToOperate.h 2KB
Debug
ATM.pch 3.49MB
vc60.pdb 92KB
loadmenu.obj 25KB
vc60.idb 409KB
AccountMesgae.obj 11KB
ATM.pdb 857KB
ASSIST.obj 12KB
ATM.exe 272KB
LongonOperate.obj 16KB
QueryToOperate.obj 21KB
loginFace.obj 16KB
SELECTSTATE.obj 16KB
ATM.ilk 378KB
LogonToOperate.obj 23KB
LINK.obj 29KB
main.obj 14KB
dataSave.obj 1KB
logon.obj 13KB
file.obj 21KB
RegisterAccount.obj 14KB
RegisterAccount.h 678B
ATM.dsp 6KB
logon.h 1KB
QueryToOperate.cpp 4KB
dataSave.h 147B
loadmenu.cpp 4KB
AccountMesgae.cpp 217B
ASSIST.CPP 1KB
loginFace.cpp 2KB
LongonOperate.cpp 3KB
LogonOperate.h 898B
ATM.plg 1KB
LogonOperate.asp 249B
loadmenu.h 2KB
LINK.H 3KB
ASSIST.H 833B
Transfer.bin 0B
QueryToOperate.h 2KB
RegisterAccount.cpp 2KB
LINK.CPP 10KB
AccountMesgae.h 98B
state.bin 2KB
loginFace.h 703B
Debug
~VCA69E.tmp 0B
~VCE48A.tmp 0B
~VCE489.tmp 54KB
ATM机项目.opt 59KB
ATM机项目.ncb 265KB
~VC7754.tmp 54KB
~VC8F26.tmp 0B
~VC7755.tmp 0B
共 69 条
- 1
资源评论
- yywapril2013-01-19只有exe程序,没有源代码
- xld1682013-11-25还行,整体效果值得借鉴
- adgjlmbcz2012-12-03这是个WIN32控制台程序 可以供参考,我估计用对话框应用程序也可以实现ATM所提供的功能吧,我正在做这方面的试验,还是谢谢分享
kuangyeahai
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功