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

📄 clientinquirespan.cpp

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

#include "stdafx.h"
#include "CreditCardManagement.h"
#include "ClientInquireSpan.h"

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

/////////////////////////////////////////////////////////////////////////////
// CClientInquireSpan dialog


CClientInquireSpan::CClientInquireSpan(CWnd* pParent /*=NULL*/)
	: CDialog(CClientInquireSpan::IDD, pParent)
{
	//{{AFX_DATA_INIT(CClientInquireSpan)
	m_wYonghuming = _T("");
	m_wQishishijian = COleDateTime::GetCurrentTime();
	m_wMima = _T("");
	m_wZhongzhishijian = COleDateTime::GetCurrentTime();
	m_wXiaofeizonge = 0;
	//}}AFX_DATA_INIT
}


void CClientInquireSpan::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CClientInquireSpan)
	DDX_Control(pDX, IDC_LIST3, m_wXinyongkaxinxi);
	DDX_Control(pDX, IDC_LIST1, m_wYonghuxiaofeixinxi);
	DDX_Text(pDX, IDC_EDIT1, m_wYonghuming);
	DDV_MaxChars(pDX, m_wYonghuming, 20);
	DDX_Text(pDX, IDC_EDIT2, m_wQishishijian);
	DDX_Text(pDX, IDC_EDIT3, m_wMima);
	DDV_MaxChars(pDX, m_wMima, 20);
	DDX_Text(pDX, IDC_EDIT4, m_wZhongzhishijian);
	DDX_Text(pDX, IDC_EDIT5, m_wXiaofeizonge);
	//}}AFX_DATA_MAP
}


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

/////////////////////////////////////////////////////////////////////////////
// CClientInquireSpan message handlers

void CClientInquireSpan::OnOK() 
{
	// 用户按时间段查询
    char filter[100];
    UpdateData(TRUE);//把值传入
 	int nItem;
    m_wYonghuxiaofeixinxi.DeleteAllItems();
   for(int dc=0;dc<4;dc++){ m_wYonghuxiaofeixinxi.DeleteColumn(0);}
   m_wXinyongkaxinxi.DeleteAllItems();
   for(dc=0;dc<5;dc++){ m_wXinyongkaxinxi.DeleteColumn(0);}
   //初始化CListCtrl_End
   //显示列
   //刷卡机标识+信用卡号+消费额+消费时间
  LV_COLUMN lvcolumn;
  lvcolumn.mask=LVCF_FMT|LVCF_WIDTH|LVCF_TEXT|LVCF_SUBITEM;
  lvcolumn.fmt=LVCFMT_CENTER;
  lvcolumn.cx=75;
  lvcolumn.iSubItem=0;
  lvcolumn.pszText="刷卡机标识";
  m_wYonghuxiaofeixinxi.InsertColumn(0,&lvcolumn);
  lvcolumn.iSubItem=1;
  lvcolumn.pszText="信用卡号";
  m_wYonghuxiaofeixinxi.InsertColumn(1,&lvcolumn);
  lvcolumn.iSubItem=2;
  lvcolumn.pszText="消费额";
  m_wYonghuxiaofeixinxi.InsertColumn(2,&lvcolumn);
 lvcolumn.iSubItem=3;
  lvcolumn.pszText="消费时间";
  m_wYonghuxiaofeixinxi.InsertColumn(3,&lvcolumn);

     time_t xiaofeishijian=0;
	 COleDateTime* media;
    m_pCCISS=&CCISS;//判有无此用户
    m_pCCISS->m_strFilter="[账户文件].[身份证号]=[用户文件].[身份证号]";
	m_pCCISS->m_strFilter+="and";
    wsprintf(filter,"[用户文件].[用户名]='%s'",m_wYonghuming);
	m_pCCISS->m_strFilter+=filter;
	m_pCCISS->m_strFilter+="and";
    wsprintf(filter,"[用户文件].[密码]='%s'",m_wMima);
	m_pCCISS->m_strFilter+=filter;
    m_pCCISS->Open();
	 if(m_pCCISS->IsEOF())//无此用户
	 {MessageBox("不存在该用户");
	 m_pCCISS->Close();
	 }else//有此用户
	 {
		 CString ss=m_pCCISS->m_column1;//记录身份证号
		 CString *zz;
		 zz=new CString[100];
		 int z=0;
		 while(!m_pCCISS->IsEOF())
		 {
		  zz[z]=m_pCCISS->m_column7;//记录该用户的所有帐号
		 m_pCCISS->MoveNext();
		 z=z+1;
		 }
		 m_pCCISS->Close();
		 m_pCCISSxf=&CCISSxf;//操作消费文件指针
		 wsprintf(filter,"[消费文件].[身份证号]='%s'",ss);
		 m_pCCISSxf->m_strFilter=filter;
         m_pCCISSxf->Open();
		 if( m_pCCISSxf->IsEOF())//此用户无消费记录
		 {
			 MessageBox("没有该用户的消费记录");
			  m_pCCISSxf->Close();
		 }else//有消费记录
		 {
			 long e=0;//记录消费总额
			 while(! m_pCCISSxf->IsEOF())
			 {
				 xiaofeishijian=m_pCCISSxf->m_column6.GetTime();
                 media=new COleDateTime(xiaofeishijian);
				 if((m_wQishishijian.m_dt < media->m_dt) &&   //判时间范围
					 (media->m_dt < m_wZhongzhishijian.m_dt))
				 {
					 e=e+m_pCCISSxf->m_column3;
				 //显示
	              LV_ITEM lvitem;
	               lvitem.mask=LVIF_TEXT|LVIF_IMAGE|LVIF_STATE;
	               lvitem.state=0;
	               lvitem.stateMask=0;
				   //插入刷卡机标识
                   nItem=m_wYonghuxiaofeixinxi.InsertItem(0,m_pCCISSxf->m_column1);
				   //插入信用卡号
                   m_wYonghuxiaofeixinxi.SetItemText(nItem,1,m_pCCISSxf->m_column2);
				   //插入消费额
				   CString temp;
	               temp.Format("%d",m_pCCISSxf->m_column3);
                   m_wYonghuxiaofeixinxi.SetItemText(nItem,2,temp);
				   //插入消费时间
				   CString s=m_pCCISSxf->m_column6.Format("%A,%B%d,%Y");
                   m_wYonghuxiaofeixinxi.SetItemText(nItem,3,s); 
					 
				 }
				media=NULL;// media->delete();
				 m_pCCISSxf->MoveNext();
			 }
			 m_wXiaofeizonge=e;
		 }
		 m_pCCISSxf->Close();

         //显示银行标识+账号+信用卡号+是否透支+是否挂失
		 LV_COLUMN lvcolumn;
	        lvcolumn.mask=LVCF_FMT|LVCF_WIDTH|LVCF_TEXT|LVCF_SUBITEM;
            lvcolumn.fmt=LVCFMT_CENTER;
	        lvcolumn.cx=75;
            lvcolumn.iSubItem=0;
	        lvcolumn.pszText="银行标识";
	        m_wXinyongkaxinxi.InsertColumn(0,&lvcolumn);
            lvcolumn.iSubItem=1;
	        lvcolumn.pszText="帐号";
	        m_wXinyongkaxinxi.InsertColumn(1,&lvcolumn);
	        lvcolumn.iSubItem=2;
	        lvcolumn.pszText="信用卡号";
	        m_wXinyongkaxinxi.InsertColumn(2,&lvcolumn);
	        lvcolumn.iSubItem=3;
	        lvcolumn.pszText="是否透支";
	        m_wXinyongkaxinxi.InsertColumn(3,&lvcolumn);
		    lvcolumn.iSubItem=4;
			lvcolumn.pszText="是否挂失";
			m_wXinyongkaxinxi.InsertColumn(4,&lvcolumn);
		 int i=0;
		 while(i<z)
		 {
		 m_pCCISSx=&CCISSx;//指向信用卡文件指针
		 m_pCCISSx->m_strFilter.Empty();
		 m_pCCISSx->Open();
		 if( (m_pCCISSx->IsEOF())&&(i==z))//i==z 表最后一个帐号
		 {
			 MessageBox("没有该用户的消费记录");
			  m_pCCISSx->Close();
		 }else//显示
		 {
         	 while(! m_pCCISSx->IsEOF())
			 {
				 if(m_pCCISSx->m_column5==zz[i])
				 {
				 int e=0;;
				 e=e+7;
				 //显示信用卡各属性
				   				 //显示信用卡各属性
				    LV_ITEM lvitem;
	               lvitem.mask=LVIF_TEXT|LVIF_IMAGE|LVIF_STATE;
	               lvitem.state=0;
	               lvitem.stateMask=0;
				   //插入银行标识
                   nItem=m_wXinyongkaxinxi.InsertItem(0, m_pCCISSx->m_column1);
				   //插入帐号
                   m_wXinyongkaxinxi.SetItemText(nItem,1, m_pCCISSx->m_column5);
				   //插入信用卡号
                   m_wXinyongkaxinxi.SetItemText(nItem,2, m_pCCISSx->m_column2);
				   //插入是否透支
				   CString temp;
	               if (m_pCCISSx->m_column3==0) temp="否";
				   else temp="是";
                   m_wXinyongkaxinxi.SetItemText(nItem,3,temp);
				   //插入是否挂失
				   if (m_pCCISSx->m_column4==0) temp="否";
				   else temp="是";
                   m_wXinyongkaxinxi.SetItemText(nItem,4,temp); 
				 }
				 m_pCCISSx->MoveNext();
			 }
		 }
		 i=i+1;
		 }
		 m_pCCISSx->Close();
         UpdateData(FALSE);//把值传出
	 } 
}  
 

⌨️ 快捷键说明

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