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

📄 clientconsume.cpp

📁 模拟银行信用卡的业务流程
💻 CPP
字号:
// ClientConsume.cpp : implementation file
//

#include "stdafx.h"
#include "CreditCardManagement.h"
#include "ClientConsume.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CClientConsume dialog


CClientConsume::CClientConsume(CWnd* pParent /*=NULL*/)
	: CDialog(CClientConsume::IDD, pParent)
{
	//{{AFX_DATA_INIT(CClientConsume)
	m_wYinhangbiaoshi = _T("");
	m_wXinyongkahao = _T("");
	m_wShukajibiaoshi = _T("");
	m_wXiaofeie = 0;
//	m_wXiaofeiriqi = COleDateTime::GetCurrentTime();
	//}}AFX_DATA_INIT
}


void CClientConsume::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CClientConsume)
	DDX_Text(pDX, IDC_EDIT1, m_wYinhangbiaoshi);
	DDV_MaxChars(pDX, m_wYinhangbiaoshi, 20);
	DDX_Text(pDX, IDC_EDIT2, m_wXinyongkahao);
	DDV_MaxChars(pDX, m_wXinyongkahao, 18);
	DDX_Text(pDX, IDC_EDIT3, m_wShukajibiaoshi);
	DDV_MaxChars(pDX, m_wShukajibiaoshi, 5);
	DDX_Text(pDX, IDC_EDIT4, m_wXiaofeie);
	DDV_MinMaxLong(pDX, m_wXiaofeie, 0, 100000);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CClientConsume, CDialog)
	//{{AFX_MSG_MAP(CClientConsume)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CClientConsume message handlers

void CClientConsume::OnOK() 
{
	char filter[100];
    UpdateData(TRUE);
	if((m_wXiaofeie<0)||(m_wXiaofeie>20000))
	{
		MessageBox("一次消费金额只能在0到20000元之间");
	}else
	{
	m_pCCCSs=&CCCSs;
	wsprintf(filter,"[刷卡机标识]='%s'",m_wShukajibiaoshi);
	m_pCCCSs->m_strFilter=filter;
    m_pCCCSs->m_strFilter+="and";
    m_pCCCSs->m_strFilter+="[是否拆除]=0";
    m_pCCCSs->Open();
    if (m_pCCCSs->IsEOF())
	  {
		  MessageBox("无效的刷卡机!");
          m_pCCCSs->Close();
	  }
	else
	  {
		m_pCCCS=&CCCS;
		m_pCCCS->m_strFilter="[账户文件].[账号]=[信用卡文件].[账号]";
    	m_pCCCS->m_strFilter+="and";
    	wsprintf(filter,"[银行标识]='%s'",m_wYinhangbiaoshi);
	    m_pCCCS->m_strFilter+=filter;
        m_pCCCS->m_strFilter+="and";
	    wsprintf(filter,"[信用卡号]='%s'",m_wXinyongkahao);
	    m_pCCCS->m_strFilter+=filter;
        m_pCCCS->m_strFilter+="and";
        m_pCCCS->m_strFilter+="[挂失]=0";
	    m_pCCCS->m_strFilter+="and";
        m_pCCCS->m_strFilter+="[是否销户]=0";
	    m_pCCCS->Open();
        if (m_pCCCS->IsEOF())
		{
		   MessageBox("非法信用卡!");
	       m_pCCCS->Close();
		} 
		else
		{
           if (m_wXiaofeie<=0)
		    	MessageBox("请输入正确的消费额!");
	       else
		   { //下面开始处理消费
		    //首先判断用户是否可以消费
		    //判断刷卡机是否合法:1.是否挂失,上边已经判断
            //2.用户是否已经销户,上边已经判断
            //3.是否超过信用度透支
		    int canadd=0;//是否允许消费标志
		    long result=0;//消费后的钱数
			int  TouzhiOrnot=0;//是否透支标志
             switch (m_pCCCS->m_column11)
			 {
			  case 0:
				  {
                    result=m_pCCCS->m_column10-m_wXiaofeie;
                    if (result>=0) canadd=1;
					TouzhiOrnot=0;//不允许透支
					break;
				  }
			   case 1:
				  {
                    result=m_pCCCS->m_column10-m_wXiaofeie+2000;
				    if (result>=0) canadd=1;
                    result=m_pCCCS->m_column10-m_wXiaofeie;
				    if (result<0) TouzhiOrnot=1;//透支
				    break;
				  }
			  case 2:
				  {
                   result=m_pCCCS->m_column10-m_wXiaofeie+5000;
				   if (result>=0) canadd=1;
                   result=m_pCCCS->m_column10-m_wXiaofeie;
                   if (result<0) TouzhiOrnot=1;//透支
				   break;
				  }
			 }
           if (canadd==1)
		   {//如果可以消费下边开始修改数据库数据
		   //1.修改帐户文件的钱数及是否透支标志
           //在帐户文件中找到用户
           m_pCCCSz=&CCCSz;
           wsprintf(filter,"[账号]='%s'",m_pCCCS->m_column7);
           m_pCCCSz->m_strFilter=filter;
		   m_pCCCSz->Open();
		   m_pCCCSz->Edit();
		   m_pCCCSz->m_column4=result;
		   m_pCCCSz->Update();
		   m_pCCCSz->Close();
		   //在信用卡文件中添加是否透支标志
		   m_pCCCSx=&CCCSx;
           wsprintf(filter,"[账号]='%s'",m_pCCCS->m_column7);
           m_pCCCSx->m_strFilter=filter;
		   m_pCCCSx->Open();
		   m_pCCCSx->Edit();
		   m_pCCCSx->m_column3=TouzhiOrnot;
		   m_pCCCSx->Update();
		   m_pCCCSx->Close(); 
		   //2.添加消费记录
		   m_pCCCSxf=&CCCSxf;
		   m_pCCCSxf->m_strFilter.Empty();
		   m_pCCCSxf->Open();
		   m_pCCCSxf->MoveLast();
		   m_pCCCSxf->AddNew();
		   m_pCCCSxf->m_column1=m_wYinhangbiaoshi;
           m_pCCCSxf->m_column2=m_wXinyongkahao;
           m_pCCCSxf->m_column3=m_wXiaofeie;
		   m_pCCCSxf->m_column6=CTime::GetCurrentTime();
		   m_pCCCSxf->m_column7=m_pCCCS->m_column14;
		   m_pCCCSxf->m_column8=m_wShukajibiaoshi;
		   m_pCCCSxf->Update();
           m_pCCCSxf->Close();
           MessageBox("消费成功!");  
		   }
		   else MessageBox("存储金额不够,无法消费!"); 
		   }
	       m_pCCCS->Close();
		
		}
     m_pCCCSs->Close();	  
   }
   }
}
	   	 
		

⌨️ 快捷键说明

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