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

📄 incomewizarddlg.cpp

📁 这是一个学生信息管理系统
💻 CPP
📖 第 1 页 / 共 5 页
字号:
		L"收入登记向导:借贷1",
		L"收入登记向导:借贷2",
		L"收入登记向导:借贷3",
		L"收入登记向导:借贷4",
		L"收入登记向导:借贷5",
		L"收入登记向导:完成",
	};
	StrCaption=m_sCaption[nPos-1];
	SetWindowText(StrCaption);
}

void CIncomeWizardDlg::IncomeNext() 
{
	m_pIncome_Step1->UpdateData();
	//首先判断这一步的数据是否合法
	if(m_pIncome_Step1->m_sSource==L"")
	{
		MessageBox(L"\n收入来源不能为空!\n",L"提示",MB_ICONEXCLAMATION);
		return ;
	}
	if(m_pIncome_Step1->m_dAmount==0)
	{
		MessageBox(L"\n收入金额不能为空!\n",L"提示",MB_ICONEXCLAMATION);
		return ;
	}
	//下面是第一步要处理的,首先要把那个数据结构填满
	m_pFlow->m_bCash =m_pIncome_Step1->m_bCash ;
	m_pFlow->m_bBank =m_pIncome_Step1->m_bBank ;
	m_pFlow->m_bOutcome =m_pIncome_Step1->m_bOutcome ;
	m_pFlow->m_bInvest =m_pIncome_Step1->m_bInvest ;
	m_pFlow->m_bBorrow =m_pIncome_Step1->m_bBorrow ;
	if(m_pFlow->m_bBank )//银行
	{
		UpdateStep(BANKCOUNT_STEP2);
		return ;
	}//银行没有则判断支出
	if(m_pFlow->m_bOutcome )
	{
		UpdateStep(OUTCOME_STEP8);
		return ;
	}//支出没有则判断投资
	if(m_pFlow->m_bInvest )
	{
		UpdateStep(INVESTCOUNT_STEP15);
		return ;
	}//投资没有则判断借贷
	if(m_pFlow->m_bBorrow  )
	{
		UpdateStep(BORROWCOUNT_STEP21);
		return ;
	}
	//都没有,则在流向个数的那个数据结构中登记
	m_pCount->m_iBankCount =0;
	m_pCount->m_iBorrowCount =0;
	m_pCount->m_iInvestCount =0;
	m_pCount->m_iTangibleCount =0;
	m_pCount->m_iCurBank=0;
	m_pCount->m_iCurBorrow=0;
	m_pCount->m_iCurInvest=0;
	m_pCount->m_iCurTangible=0;
	//显示完成对话框,但如果用户也没有选择现金,则不给进行
	m_pFlow->m_dCashAmount =GetCashAmount();
	if(m_pIncome_Step1->m_dAmount!=m_pFlow->m_dCashAmount )//说明没有填写现金!不可以!
	{
		MessageBox(L"没有登记任何流向!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
    ListCash();
    UpdateStep(FINISH_STEP27);
	//****
	return ;
}
void CIncomeWizardDlg::BankCountNext ()
{
	m_pBankCount_Step2->UpdateData();
	//由银行个数来判断下一步是什么
	//把那个m_pCount填
	m_pCount->m_iBankCount =m_pBankCount_Step2->m_iBankCount ;
	//首先判断数据是否合法
	//有多少个,则必须把那些相应的Combo卡号填好,否则不给下一步
	switch(m_pCount->m_iBankCount )
	{
	case 0://如果用户不选,则抱错,因为首页已经填了,最多是上一步
		{
			MessageBox(L"\n必须选择银行卡个数,否则请退回上一步取消银行卡选项!\n",L"提示",MB_ICONEXCLAMATION);
			return ;
		}
	case 1://如果选了一个,则判断第一个有没有填充就行了
		if(m_pBankCount_Step2->m_sCard_1!=L"")//非空,则OK,可以下一步
		{
			//初始化银行卡简号
			m_pBank_Step3->m_sCardId =m_pBankCount_Step2->m_sCard_1 ;
			m_pBank_Step3->UpdateData (FALSE);
			//填充m_pCount
			m_pCount->m_iBankCount =1;
			m_pCount->m_iCurBank =1;
			UpdateStep(BANK_STEP3);
			return ;
		}
		else//对话框警告
		{
			MessageBox(L"\n必须填充第一张银行卡简号,否则请退回上一步取消银行卡选项!\n",L"提示",MB_ICONEXCLAMATION);
			return ;
		}
	case 2://选择了两个,则必须判断两个
		if(m_pBankCount_Step2->m_sCard_1!=L"" &&m_pBankCount_Step2->m_sCard_2!=L"" )
		{
			//初始化银行卡简号
			m_pBank_Step3->m_sCardId =m_pBankCount_Step2->m_sCard_1 ;
			m_pBank1_Step4->m_sCardId =m_pBankCount_Step2->m_sCard_2 ;
			m_pBank_Step3->UpdateData (FALSE);
			m_pBank1_Step4->UpdateData (FALSE);
			//填充m_pCount
			m_pCount->m_iBankCount =2;
			m_pCount->m_iCurBank =1;
			UpdateStep(BANK_STEP3);
			return ;
		}
		else
		{
			MessageBox(L"\n必须填充第一,二张银行卡简号,否则请修改银行卡个数选项!\n",L"提示",MB_ICONEXCLAMATION);
			return ;
		}
		break;
	case 3://如果选择了三个,则必须判断三个
		if(m_pBankCount_Step2->m_sCard_1!=L"" &&m_pBankCount_Step2->m_sCard_2!=L"" &&m_pBankCount_Step2->m_sCard_3!=L"" )
		{
			//初始化银行卡简号
			m_pBank_Step3->m_sCardId =m_pBankCount_Step2->m_sCard_1 ;
			m_pBank1_Step4->m_sCardId =m_pBankCount_Step2->m_sCard_2 ;
			m_pBank2_Step5->m_sCardId =m_pBankCount_Step2->m_sCard_3 ;
			m_pBank_Step3->UpdateData (FALSE);
			m_pBank1_Step4->UpdateData (FALSE);
			m_pBank2_Step5->UpdateData (FALSE);
			//填充m_pCount
			m_pCount->m_iBankCount =3;
			m_pCount->m_iCurBank =1;
			UpdateStep(BANK_STEP3);
			return ;
		}
		else
		{
			MessageBox(L"\n必须填充第一,二,三张银行卡简号,否则请修改银行卡个数选项!\n",L"提示",MB_ICONEXCLAMATION);
			return ;
		}
		break;
	case 4://如果选择了四个,则必须判断四个
		if(m_pBankCount_Step2->m_sCard_1!=L"" &&m_pBankCount_Step2->m_sCard_2!=L"" &&
			m_pBankCount_Step2->m_sCard_3!=L""&&m_pBankCount_Step2->m_sCard_4!=L"" )
		{
			//初始化银行卡简号
			m_pBank_Step3->m_sCardId =m_pBankCount_Step2->m_sCard_1 ;
			m_pBank1_Step4->m_sCardId =m_pBankCount_Step2->m_sCard_2 ;
			m_pBank2_Step5->m_sCardId =m_pBankCount_Step2->m_sCard_3 ;
			m_pBank3_Step6->m_sCardId =m_pBankCount_Step2->m_sCard_4 ;
			m_pBank_Step3->UpdateData (FALSE);
			m_pBank1_Step4->UpdateData (FALSE);
			m_pBank2_Step5->UpdateData (FALSE);
			m_pBank3_Step6->UpdateData (FALSE);
			//填充m_pCount
			m_pCount->m_iBankCount =4;
			m_pCount->m_iCurBank =1;
			UpdateStep(BANK_STEP3);
			return ;
		}
		else
		{
			MessageBox(L"\n必须填充第一,二,三,四张银行卡简号,否则请修改银行卡个数选项!\n",L"提示",MB_ICONEXCLAMATION);
			return ;
		}
		break;
	case 5://如果选择了五个,则必须判断五个
		if(m_pBankCount_Step2->m_sCard_1 !=L""&&m_pBankCount_Step2->m_sCard_2!=L"" &&
			m_pBankCount_Step2->m_sCard_3!=L""&&m_pBankCount_Step2->m_sCard_4 !=L""&&
			m_pBankCount_Step2->m_sCard_5!=L"" )
		{
			//初始化银行卡简号
			m_pBank_Step3->m_sCardId =m_pBankCount_Step2->m_sCard_1 ;
			m_pBank1_Step4->m_sCardId =m_pBankCount_Step2->m_sCard_2 ;
			m_pBank2_Step5->m_sCardId =m_pBankCount_Step2->m_sCard_3 ;
			m_pBank3_Step6->m_sCardId =m_pBankCount_Step2->m_sCard_4 ;
			m_pBank4_Step7->m_sCardId =m_pBankCount_Step2->m_sCard_5 ;
			m_pBank_Step3->UpdateData (FALSE);
			m_pBank1_Step4->UpdateData (FALSE);
			m_pBank2_Step5->UpdateData (FALSE);
			m_pBank3_Step6->UpdateData (FALSE);
			m_pBank4_Step7->UpdateData (FALSE);
			//填充m_pCount
			m_pCount->m_iBankCount =5;
			m_pCount->m_iCurBank =1;
			UpdateStep(BANK_STEP3);
			return ;
		}
		else
		{
			MessageBox(L"\n必须填充第一,二,三,四,五张银行卡简号,否则请修改银行卡个数选项!\n",L"提示",MB_ICONEXCLAMATION);
			return ;
		}
		break;
	default:break;//永远不可能发生的事,但为了安全,还是要写
	}
	return ;
}
void CIncomeWizardDlg::BankNext ()
{
	//首先判断数据是否合法
    m_pBank_Step3->UpdateData();
	if(m_pBank_Step3->m_sCardId==L"")
	{
		MessageBox(L"\n银行卡简号不能为空!\n",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	if(m_pBank_Step3->m_dAmount==0)
	{
		MessageBox(L"\n操作金额不能为空!\n",L"警告",MB_ICONEXCLAMATION);
		return ;
    }
	//数据都合法,则根据m_pCount判断下一步
	if(m_pCount->m_iBankCount >1)
	{
		//如果多余一个银行操作,则进入下一个银行操作,数据已经初始化,直接进入
		m_pCount->m_iCurBank =2;
		UpdateStep(BANK1_STEP4);
		return ;
	}
	//只有一个银行操作,则判断有没有其他的
	if(m_pFlow->m_bOutcome )//首先判断是否有支出
	{
		UpdateStep(OUTCOME_STEP8);
		return ;
	}//支出没有则判断投资
	if(m_pFlow->m_bInvest )
	{
		UpdateStep(INVESTCOUNT_STEP15);
		return ;
	}//投资没有则判断借贷
	if(m_pFlow->m_bBorrow  )
	{
		UpdateStep(BORROWCOUNT_STEP21);
		return ;
	}
	//如果都没有了,则给出最终的结束会话
	//但之前必须判断收入总金额是否等于银行操作金额
    m_pFlow->m_dBankAmount =GetBankAmount();
	double dAmount=m_pFlow->m_dBankAmount ;
	if(m_pIncome_Step1->m_bCash )//如果有流入了现金
	{
		if(m_pIncome_Step1->m_dAmount >dAmount)
		{
			//除了银行剩余全部流入现金
			m_pFlow->m_dCashAmount =GetCashAmount();
			//可以结束登记了
			UpdateStep(FINISH_STEP27);
			ListAllBank();
			ListCash();
			return ;
		}
		else
		{
			MessageBox(L"收入总金额与登记在银行总额与现金的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
			return ;
		}
	}//如果没有流入现金
	if(m_pIncome_Step1->m_dAmount!=dAmount)
	{
		MessageBox(L"收入总金额与登记在银行总额不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	UpdateStep(FINISH_STEP27);
	ListAllBank();
	return ;
}
void CIncomeWizardDlg::Bank1Next  ()
{
	//首先判断数据是否合法
    m_pBank1_Step4->UpdateData();
	m_pBank_Step3->UpdateData ();
	if(m_pBank1_Step4->m_sCardId==L"")
	{
		MessageBox(L"\n银行卡简号不能为空!\n",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	if(m_pBank1_Step4->m_dAmount==0)
	{
		MessageBox(L"\n操作金额不能为空!\n",L"警告",MB_ICONEXCLAMATION);
		return ;
    }
	//数据都合法,则根据m_pCount判断下一步
	if(m_pCount->m_iBankCount >2)
	{
		//如果多于两个银行操作,则进入下一个银行操作,数据已经初始化,直接进入
		UpdateStep(BANK2_STEP5);
		m_pCount->m_iCurBank =3;
		return ;
	}
	//只有两个银行操作,则判断有没有其他的
	if(m_pFlow->m_bOutcome )//首先判断是否有支出
	{
		UpdateStep(OUTCOME_STEP8);
		return ;
	}//支出没有则判断投资
	if(m_pFlow->m_bInvest )
	{
		UpdateStep(INVESTCOUNT_STEP15);
		return ;
	}//投资没有则判断借贷
	if(m_pFlow->m_bBorrow  )
	{
		UpdateStep(BORROWCOUNT_STEP21);
		return ;
	}
	//如果都没有了,则给出最终的结束会话
	//但之前必须判断收入总金额是否小于等于银行操作金额加上
	m_pFlow->m_dBankAmount =GetBankAmount();
	double dAmount=m_pFlow->m_dBankAmount ;
	if(m_pIncome_Step1->m_bCash )//如果有流入了现金
	{
		if(m_pIncome_Step1->m_dAmount >dAmount)
		{
			//除了银行剩余全部流入现金
			m_pFlow->m_dCashAmount =GetCashAmount();
			//可以结束登记了
			UpdateStep(FINISH_STEP27);
			ListAllBank();
			ListCash();
			return ;
		}
		else
		{
			MessageBox(L"收入总金额与登记在银行总额与现金的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
			return ;
		}
	}//如果没有流入现金
	if(m_pIncome_Step1->m_dAmount!=dAmount)
	{
		MessageBox(L"收入总金额与登记在银行不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	UpdateStep(FINISH_STEP27);
	ListAllBank();
	return ;
}
void CIncomeWizardDlg::Bank2Next ()
{
	//首先判断数据是否合法
	m_pBank2_Step5->UpdateData ();
    m_pBank1_Step4->UpdateData();
	m_pBank_Step3->UpdateData ();
	if(m_pBank2_Step5->m_sCardId==L"")
	{
		MessageBox(L"\n银行卡简号不能为空!\n",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	if(m_pBank2_Step5->m_dAmount==0)
	{
		MessageBox(L"\n操作金额不能为空!\n",L"警告",MB_ICONEXCLAMATION);
		return ;
    }
	//数据都合法,则根据m_pCount判断下一步
	if(m_pCount->m_iBankCount >3)
	{
		//如果多于三个银行操作,则进入下一个银行操作,数据已经初始化,直接进入
		UpdateStep(BANK3_STEP6);
		m_pCount->m_iCurBank =4;
		return ;
	}
	//只有三个银行操作,则判断有没有其他的
	if(m_pFlow->m_bOutcome )//首先判断是否有支出
	{
		UpdateStep(OUTCOME_STEP8);
		return ;
	}//支出没有则判断投资
	if(m_pFlow->m_bInvest )
	{
        UpdateStep(INVESTCOUNT_STEP15);
		return ;
	}//投资没有则判断借贷
	if(m_pFlow->m_bBorrow  )
	{
        UpdateStep(BORROWCOUNT_STEP21);
		return ;
	}
	//如果都没有了,则给出最终的结束会话
	//但之前必须判断收入总金额是否等于银行操作金额
	m_pFlow->m_dBankAmount =GetBankAmount();
	double dAmount=m_pFlow->m_dBankAmount ;
	if(m_pIncome_Step1->m_bCash )//如果有流入了现金
	{
		if(m_pIncome_Step1->m_dAmount >dAmount)
		{
			//除了银行剩余全部流入现金
			m_pFlow->m_dCashAmount =GetCashAmount();
			//可以结束登记了
			UpdateStep(FINISH_STEP27);
			ListAllBank();
			ListCash();
			return ;
		}
		else
		{
			MessageBox(L"收入总金额与登记在银行总额与现金的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
			return ;
		}
	}//如果没有流入现金
	if(m_pIncome_Step1->m_dAmount!=dAmount)
	{
		MessageBox(L"收入总金额与登记在银行不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	UpdateStep(FINISH_STEP27);

⌨️ 快捷键说明

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