银行业务模拟程序Word文档格式.docx
《银行业务模拟程序Word文档格式.docx》由会员分享,可在线阅读,更多相关《银行业务模拟程序Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
voidclear(void);
size_tsize(void)const;
boolempty(void)const;
private:
std:
:
queue<
CClient>
m_queueClients;
};
//BankWnd.cpp
BankWnd.h"
CBankWnd:
CBankWnd(void)
}
~CBankWnd(void)
voidCBankWnd:
push(constCClient&
client)
m_queueClients.push(client);
pop(void)
m_queueClients.pop();
boolCBankWnd:
empty(void)const
returnm_queueClients.empty();
size_tCBankWnd:
size(void)const
returnm_queueClients.size();
clear(void)
while(!
m_queueClients.empty()){
}
C/C++code
//Bank.h
ctime>
classCBank
CBank(void);
~CBank(void);
voidonWork(void);
voidoffWork(void);
voidinBank(constCClient&
client);
voidoutBank(void);
size_tclientTotal(void)const;
size_tstayTimeTotal(void)const;
size_taveStayTime(void)const;
staticconstintUNIT_TIME=20;
staticconstintNUM_WND=3;
CBankWndm_bankWnds[NUM_WND];
size_tm_nClient;
//currentclientnumber
size_tm_nStayTimeTotal;
size_tm_nClientTotal;
//Bank.cpp
Bank.h"
CBank:
CBank(void)
m_nClient(0),m_nClientTotal(0),m_nStayTimeTotal(0)
srand((unsigned)time(NULL));
~CBank(void)
voidCBank:
inBank(constCClient&
size_tminLengthWnd(0);
for(size_tidx(0);
idx!
=NUM_WND;
++idx){
if(m_bankWnds[idx].size()<
m_bankWnds[minLengthWnd].size()){
minLengthWnd=idx;
m_bankWnds[minLengthWnd].push(client);
m_nStayTimeTotal+=UNIT_TIME;
m_nClientTotal+=1;
m_nClient+=1;
outBank(void)
switch(rand()%NUM_WND){
case1:
if(!
m_bankWnds[0].empty()){
m_bankWnds[0].pop();
m_nClient-=1;
break;
case2:
m_bankWnds[1].empty()){
m_bankWnds[1].pop();
case3:
m_bankWnds[2].empty()){
m_bankWnds[2].pop();
m_nStayTimeTotal+=m_nClient*UNIT_TIME;
size_tCBank:
aveStayTime(void)const
if(m_nClientTotal==0){
return0;
else{
returnm_nStayTimeTotal/m_nClientTotal;
onWork(void)
m_nClient=0;
m_nClientTotal=0;
m_nStayTimeTotal=0;
offWork(void)
m_bankWnds[idx].clear();
clientTotal(void)const
returnm_nClientTotal;
stayTimeTotal(void)const
returnm_nStayTimeTotal;
//client.h
classCClient
CClient(void);
~CClient(void);
booloperator<
(constCClient&
lClient,constCClient&
rClient);
booloperator==(constCClient&
booloperator!
=(constCClient&
//client.cpp
CClient:
CClient(void)
~CClient(void)
rClient)
returnfalse;
booloperator==(constCClient&
rClient)
=(constCClient&
returntrue;
iostream>
int_tmain(intargc,_TCHAR*argv[])
CBankmyBank;
CClientclient;
myBank.onWork();
for(size_ti(0);
i!
=10;
++i){
for(size_tj(0);
j!
=5;
++j){
if(rand()%100>
50){
myBank.inBank(client);
myBank.outBank();
myBank.offWork();
cout<
<
myBank.clientTotal()<
'
\n'
;
myBank.stayTimeTotal()<
myBank.aveStayTime()<