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

📄 newexchange.cpp

📁 一个模仿ATM提款机的MFC程序
💻 CPP
字号:
// NewExchange.cpp : implementation file
//

#include "stdafx.h"
#include "atm.h"
#include "NewExchange.h"
#include "ForeignAccount.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

//////////////////////////炒汇功能实现///////////////////////////////////////////////////
// NewExchange dialog


NewExchange::NewExchange(CWnd* pParent /*=NULL*/)
	: CDialog(NewExchange::IDD, pParent)
{
	//{{AFX_DATA_INIT(NewExchange)
	m_amount = 0.0;
	//}}AFX_DATA_INIT
}


void NewExchange::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(NewExchange)
	DDX_Control(pDX, IDC_AMOUNT, m_amountEdit);
	DDX_Text(pDX, IDC_AMOUNT, m_amount);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(NewExchange, CDialog)
	//{{AFX_MSG_MAP(NewExchange)
	ON_BN_CLICKED(IDDOLLAR, OnDollar)
	ON_BN_CLICKED(IDMARK, OnMark)
	ON_BN_CLICKED(IDYEN, OnYen)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// NewExchange message handlers
const double rate[3]={0.12,0.13,10};
void NewExchange::OnDollar() 
{
	// TODO: Add your control notification handler code here
	CSuggest suggestdlg;
	UpdateData(TRUE);
	
				if(ForeignAccount *pCyrntAcnt=ForeignAccount::searchNewAccount(CEnterPaswd::m_password))//搜寻检测用户密码
				{
					double remain=pCyrntAcnt->AcntBalan();				
					if(m_amount*rate[0]>remain-1)//余额不足
					{
						suggestdlg.m_suggest="购汇余额不足,请酌量提取!";
						suggestdlg.DoModal();
					}
					else                         //交易成功
					{
						remain-=m_amount*rate[0];
						pCyrntAcnt->AddDollar(m_amount);
						pCyrntAcnt->reloadbalance(remain);			
						CPrint printdlg;//打印凭条
						printdlg.DoModal();
						CDialog::OnOK();

					}
				}
				else
				{
					CPassworderror passerrordlg;  //密码错误
					passerrordlg.DoModal();
					CEnterPaswd enterpaswdlg;
					enterpaswdlg.m_password="";  //重输密码
					enterpaswdlg.DoModal();
					CDialog::OnOK();
				}
				
			m_amount=0;
			UpdateData(FALSE);
				
}

void NewExchange::OnMark() 
{
	// TODO: Add your control notification handler code here
	CSuggest suggestdlg;
	UpdateData(TRUE);
	
				if(ForeignAccount *pCyrntAcnt=ForeignAccount::searchNewAccount(CEnterPaswd::m_password))//搜寻检测用户密码
				{
					double remain=pCyrntAcnt->AcntBalan();				
					if(m_amount*rate[1]>remain-1)//余额不足
					{
						suggestdlg.m_suggest="购汇余额不足,请酌量提取!";
						suggestdlg.DoModal();
					}
					else                         //交易成功
					{
						remain-=m_amount*rate[1];
						pCyrntAcnt->AddMark(m_amount);
						pCyrntAcnt->reloadbalance(remain);			
						CPrint printdlg;//打印凭条
						printdlg.DoModal();
						CDialog::OnOK();
						
					}
				}
				else
				{
					CPassworderror passerrordlg;  //密码错误
					passerrordlg.DoModal();
					CEnterPaswd enterpaswdlg;
					enterpaswdlg.m_password="";  //重输密码
					enterpaswdlg.DoModal();
					CDialog::OnOK();
				}
				
				m_amount=0;
				UpdateData(FALSE);
				
}

void NewExchange::OnYen() 
{
	// TODO: Add your control notification handler code here
	CSuggest suggestdlg;
	UpdateData(TRUE);
	
				if(ForeignAccount *pCyrntAcnt=ForeignAccount::searchNewAccount(CEnterPaswd::m_password))//搜寻检测用户密码
				{
					double remain=pCyrntAcnt->AcntBalan();				
					if(m_amount*rate[2]>remain-1)//余额不足
					{
						suggestdlg.m_suggest="购汇余额不足,请酌量提取!";
						suggestdlg.DoModal();
					}
					else                         //交易成功
					{
						remain-=m_amount*rate[2];
						pCyrntAcnt->AddYen(m_amount);
						pCyrntAcnt->reloadbalance(remain);			
						CPrint printdlg;//打印凭条
						printdlg.DoModal();
						CDialog::OnOK();
						
					}
				}
				else
				{
					CPassworderror passerrordlg;  //密码错误
					passerrordlg.DoModal();
					CEnterPaswd enterpaswdlg;
					enterpaswdlg.m_password="";  //重输密码
					enterpaswdlg.DoModal();
					CDialog::OnOK();
				}
				
				m_amount=0;
				UpdateData(FALSE);
				
}

⌨️ 快捷键说明

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