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

📄 incomewizarddlg.cpp

📁 这是一个学生信息管理系统
💻 CPP
📖 第 1 页 / 共 5 页
字号:
	ListAllBank();
	return ;
}
void CIncomeWizardDlg::Bank3Next ()
{
	//首先判断数据是否合法
	m_pBank3_Step6->UpdateData ();
	m_pBank2_Step5->UpdateData ();
    m_pBank1_Step4->UpdateData();
	m_pBank_Step3->UpdateData ();
	if(m_pBank3_Step6->m_sCardId==L"")
	{
		MessageBox(L"\n银行卡简号不能为空!\n",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	if(m_pBank3_Step6->m_dAmount==0)
	{
		MessageBox(L"\n操作金额不能为空!\n",L"警告",MB_ICONEXCLAMATION);
		return ;
    }
	//数据都合法,则根据m_pCount判断下一步
	if(m_pCount->m_iBankCount >4)
	{
		//如果多于四个银行操作,则进入下一个银行操作,数据已经初始化,直接进入
		UpdateStep(BANK4_STEP7);
		m_pCount->m_iCurBank =5;
		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::Bank4Next ()
{
	//首先判断数据是否合法
	m_pBank4_Step7->UpdateData ();
	m_pBank3_Step6->UpdateData ();
	m_pBank2_Step5->UpdateData ();
    m_pBank1_Step4->UpdateData();
	m_pBank_Step3->UpdateData ();
	if(m_pBank4_Step7->m_sCardId==L"")
	{
		MessageBox(L"\n银行卡简号不能为空!\n",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	if(m_pBank4_Step7->m_dAmount==0)
	{
		MessageBox(L"\n操作金额不能为空!\n",L"警告",MB_ICONEXCLAMATION);
		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();
}
void CIncomeWizardDlg::OutcomeNext ()
{
	m_pIncome_Step1->UpdateData ();
	m_pOutcome_Step8->UpdateData ();
	//先判断支出的选项是否合格
	if(m_pOutcome_Step8->m_sName==L"")
	{
		MessageBox(L"支出名称不能为空!",L"提示",MB_ICONEXCLAMATION);
		return ;
	}
	if(m_pOutcome_Step8->m_bOther ==FALSE&&m_pOutcome_Step8->m_bTangible==FALSE )
	{
		//如果都为空,则说明没有选择支出类型
		MessageBox(L"支出类型不能为空!",L"提示",MB_ICONEXCLAMATION);
		return ;
	}
	m_pFlow->m_bOtherConsum =m_pOutcome_Step8->m_bOther ;
	m_pFlow->m_bTangible =m_pOutcome_Step8->m_bTangible ;
	//下面再根据是否有物品消费决定下一步
	if(m_pOutcome_Step8->m_bTangible )
	{
		//准备进入下一步
		UpdateStep(TANGIBLECOUNT_STEP9);
		return ;
	}
	//如果没有物品支出,则只需要登记下面的了
	if(m_pFlow->m_bInvest )
	{
		UpdateStep(INVESTCOUNT_STEP15);
		return ;
	}//投资没有则判断借贷
	if(m_pFlow->m_bBorrow  )
	{
		UpdateStep(BORROWCOUNT_STEP21);
		return ;
	}
	//进入结束之前必须判断收入总金额与所有一切之和是否大于等于,大于的话就归入现金(当选了现金),否则,不给下一步
    m_pFlow->m_dOutcomeAmount=GetOutcomeAmount();//支出
	m_pFlow->m_dOtherConsumAmount=GetOtherConsumAmount();//支出就是其他支出
	m_pFlow->m_dBankAmount =GetBankAmount();
	double Amount=m_pFlow->m_dBankAmount +m_pFlow->m_dOutcomeAmount;
	if(m_pFlow->m_bCash )//如果有流入现金
	{
		m_pFlow->m_dCashAmount =GetCashAmount();
		//则必须有钱多余流入现金
		if(m_pFlow->m_dCashAmount>0)
		{
			//有多于钱了
			UpdateStep(FINISH_STEP27);
			ListAllBank();
			ListCash();
			ListOtherConsum();
			return ;
		}
		else
		{
			MessageBox(L"收入总金额与登记在现有步骤的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
			return ;
		}
	}
	if(m_pIncome_Step1->m_dAmount !=Amount)
	{
		MessageBox(L"收入总金额与登记在现有步骤的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	UpdateStep(FINISH_STEP27);
	ListAllBank();
	ListOtherConsum();
	return ;
}
void CIncomeWizardDlg::TangibleCountNext ()
{
	//首先判断输入正不正确
	m_pTangibleCount_Step9->UpdateData ();
	m_pCount->m_iTangibleCount =m_pTangibleCount_Step9->m_iTangibleCount ;
	if(m_pCount->m_iTangibleCount ==0)//如果只选择了0个,不允许前进
	{
		MessageBox(L"所选择的购物种数不能为0,否则必须退回起始界面修改收入流向!",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	else//否则,进入物品购买登记
	{
		m_pCount->m_iCurTangible =1;
		UpdateStep(TANGIBLE_STEP10);
		return ;
	}
}
void CIncomeWizardDlg::TangibleNext ()
{
	//首先判断输入是否正确
	m_pOutcome_Step8->UpdateData ();
	m_pTangible_Step10->UpdateData ();
	if(m_pTangible_Step10->m_sName ==L"")
	{
		MessageBox(L"\n物品名称不能为空!\n",L"提示",MB_ICONEXCLAMATION);
		return ;
	}
	if(m_pTangible_Step10->m_iQuantity=0)
	{
		MessageBox(L"\n物品个数不能为空!\n",L"提示",MB_ICONEXCLAMATION);
		return ;
	}
	if(m_pTangible_Step10->m_sKind==L"")
	{
		MessageBox(L"\n物品类型不能为空!\n",L"提示",MB_ICONEXCLAMATION);
		return ;
	}
	//数据合格了,现在处理下一步
	//判断是否还有Tangible
	if(m_pCount->m_iTangibleCount >1)//如果多于一个物品
	{
		UpdateStep(TANGIBLE1_STEP11);
		m_pCount->m_iCurTangible =2;
		return ;
	}//否则,根据m_pCount判断是否有投资等,进入之前必须判断支出部分有没有问题,我的意思是会不会出现支出总额小于物品支出加其他支出
	if(m_pFlow->m_bInvest )
	{
		double Amount=m_pTangible_Step10->m_dSum ;
		if(m_pFlow->m_bOtherConsum )//如果有流入其他支出
		{
			if(m_pOutcome_Step8->m_dAmount -Amount<=0)
			{
				MessageBox(L"支出总金额与登记在物品支出和其他支出的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
				return ;
			}

		}
		UpdateStep(INVESTCOUNT_STEP15);
		return ;
	}//投资没有则判断借贷
	if(m_pFlow->m_bBorrow  )
	{
		double Amount=m_pTangible_Step10->m_dSum ;
		if(m_pFlow->m_bOtherConsum )//如果有流入其他支出
		{
			if(m_pOutcome_Step8->m_dAmount -Amount<=0)
			{
				MessageBox(L"支出总金额与登记在物品支出和其他支出的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
				return ;
			}

		}
		UpdateStep(BORROWCOUNT_STEP21);
		return ;
	}
	//如果都没有了,则给出最终的结束会话
	//但之前必须判断支出总金额是否等于前面操作步骤金额之和
	///记住,物品消费是归支出来结算的,而不是用收入登记向导统一结算的
	m_pFlow->m_dCashAmount =GetCashAmount();
	if(m_pFlow->m_dCashAmount==0&&m_pFlow->m_bCash )
	{
		MessageBox(L"收入总金额与登记先前所有的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	double dAmount=m_pTangible_Step10->m_dSum ;
	m_pFlow->m_dTangibleAmount =GetTangibleAmount();
	m_pFlow->m_dBankAmount =GetBankAmount();
	if(m_pOutcome_Step8->m_bOther )//如果有流入其他支出
	{
		//则必须留一些钱流向其他支出
		if(m_pOutcome_Step8->m_dAmount >dAmount)
		{
			//除了Tangible剩余全部流入其他消费
			m_pFlow->m_dOtherConsumAmount =m_pOutcome_Step8->m_dAmount -dAmount;
			//可以结束登记了
			UpdateStep(FINISH_STEP27);
			ListOtherConsum();
			ListAllBank();
			ListCash();
			ListAllTangible();
			return ;
		}
		else
		{
			MessageBox(L"支出总金额与登记在物品支出和其他支出的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
			return ;
		}
	}//如果没有流入其他支出
	if(m_pOutcome_Step8->m_dAmount!=dAmount)
	{
		MessageBox(L"支出总金额与登记在物品支出和其他支出的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	m_pFlow->m_dOutcomeAmount =GetOutcomeAmount();
	/*
	dAmount=m_pFlow->m_dBankAmount +m_pFlow->m_dOutcomeAmount ;
	if(m_pIncome_Step1->m_dAmount<dAmount)
	{
		MessageBox(L"收入总11111金额与登记先前所有的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	*/
	UpdateStep(FINISH_STEP27);
	ListAllBank();
	ListCash();
	ListAllTangible();
	return ;

}
void CIncomeWizardDlg::Tangible1Next ()
{
	//首先判断输入是否正确
	m_pOutcome_Step8->UpdateData ();
	m_pTangible1_Step11->UpdateData ();
	if(m_pTangible1_Step11->m_sName ==L"")
	{
		MessageBox(L"\n物品名称不能为空!\n",L"提示",MB_ICONEXCLAMATION);
		return ;
	}
	if(m_pTangible_Step10->m_iQuantity=0)
	{
		MessageBox(L"\n物品个数不能为空!\n",L"提示",MB_ICONEXCLAMATION);
		return ;
	}
	if(m_pTangible1_Step11->m_sKind==L"")
	{
		MessageBox(L"\n物品类型不能为空!\n",L"提示",MB_ICONEXCLAMATION);
		return ;
	}
	//数据合格了,现在处理下一步
	//判断是否还有Tangible
	if(m_pCount->m_iTangibleCount >2)//如果多于两个物品
	{
		UpdateStep(TANGIBLE2_STEP12);
		m_pCount->m_iCurTangible =3;
		return ;
	}//否则,根据m_pCount判断是否有投资等
	if(m_pFlow->m_bInvest )
	{
		double Amount=m_pTangible_Step10->m_dSum +m_pTangible1_Step11->m_dSum ;
		if(m_pFlow->m_bOtherConsum )//如果有流入其他支出
		{
			if(m_pOutcome_Step8->m_dAmount -Amount<=0)
			{
				MessageBox(L"支出总金额与登记在物品支出和其他支出的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
				return ;
			}

		}
		UpdateStep(INVESTCOUNT_STEP15);
		return ;
	}//投资没有则判断借贷
	if(m_pFlow->m_bBorrow  )
	{
		double Amount=m_pTangible_Step10->m_dSum +m_pTangible1_Step11->m_dSum ;
		if(m_pFlow->m_bOtherConsum )//如果有流入其他支出
		{
			if(m_pOutcome_Step8->m_dAmount -Amount<=0)
			{
				MessageBox(L"支出总金额与登记在物品支出和其他支出的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
				return ;
			}

		}
		UpdateStep(BORROWCOUNT_STEP21);
		return ;
	}
	//如果都没有了,则给出最终的结束会话
	//但之前必须判断支出总金额是否等于前面操作步骤金额之和
	///记住,物品消费是归支出来结算的,而不是用收入登记向导统一结算的
	m_pFlow->m_dCashAmount=GetCashAmount();
	if(m_pFlow->m_dCashAmount==0&&m_pFlow->m_bCash )
	{
		MessageBox(L"收入总金额与登记先前所有的总和不相符!\n请检查所输入的数据后再继续!",L"警告",MB_ICONEXCLAMATION);
		return ;
	}
	double dAmount=m_pTangible_Step10->m_dSum+ m_pTangible1_Step11->m_dSum;
	m_pFlow->m_dTangibleAmount =GetTangibleAmount();
	m_pFlow->m_dBankAmount=GetBankAmount();
	if(m_pOutcome_Step8->m_bOther )//如果有流入其他支出
	{

⌨️ 快捷键说明

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