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

📄 计算器dlg.cpp

📁 VC++计算器
💻 CPP
📖 第 1 页 / 共 2 页
字号:
	// TODO: Add your control notification handler code here
	char c='4';
//	m_nNum4=4; //当前操作数为4
	m_nResult+=c;//设置暂时输出 
	UpdateData(FALSE);//将输出结果在控件上显示
}

/////////////////////////////////////////////////////////////////////
//函数名称:OnButton5Num5
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下按键“5”时的响应
//存在问题:暂无
/////////////////////////////////////////////////////////////////////

void CMyDlg::OnButton5Num5() 
{
	// TODO: Add your control notification handler code here
	char c='5';
//	m_nNum5=5; //当前操作数为5
	m_nResult+=c;//设置暂时输出 
	UpdateData(FALSE);//将输出结果在控件上显示
}

/////////////////////////////////////////////////////////////////////
//函数名称:OnButton6Num6
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下按键“6”时的响应
//存在问题:暂无
/////////////////////////////////////////////////////////////////////

void CMyDlg::OnButton6Num6() 
{
	// TODO: Add your control notification handler code here
	char c='6';
//	m_nNum6=6; //当前操作数为6
	m_nResult+=c;//设置暂时输出 
	UpdateData(FALSE);//将输出结果在控件上显示
}

/////////////////////////////////////////////////////////////////////
//函数名称:OnButton7Num7
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下按键“7”时的响应
//存在问题:暂无
/////////////////////////////////////////////////////////////////////
void CMyDlg::OnButton7Num7() 
{
	// TODO: Add your control notification handler code here
	char c='7';
//	m_nNum7=7; //当前操作数为7
	m_nResult+=c;//设置暂时输出 
	UpdateData(FALSE);//将输出结果在控件上显示
}

/////////////////////////////////////////////////////////////////////
//函数名称:OnButton8Num8
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下按键“8”时的响应
//存在问题:暂无
/////////////////////////////////////////////////////////////////////
void CMyDlg::OnButton8Num8() 
{
	// TODO: Add your control notification handler code here
	char c='8';
//	m_nNum8=8; //当前操作数为8
	m_nResult+=c;//设置暂时输出 
	UpdateData(FALSE);//将输出结果在控件上显示
}

/////////////////////////////////////////////////////////////////////
//函数名称:OnButton9Num9
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下按键“9”时的响应
//存在问题:暂无
/////////////////////////////////////////////////////////////////////
void CMyDlg::OnButton9Num9() 
{
	// TODO: Add your control notification handler code here
	char c='9';
//	m_nNum9=9; //当前操作数为9
	m_nResult+=c;//设置暂时输出 
	UpdateData(FALSE);//将输出结果在控件上显示
}

/////////////////////////////////////////////////////////////////////
//函数名称:OnButton0Num0
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下按键“0”时的响应
//存在问题:暂无
/////////////////////////////////////////////////////////////////////
void CMyDlg::OnButton0Num0() 
{
	// TODO: Add your control notification handler code here
	char c='0';
//	m_nNum0=0; //当前操作数为0
	m_nResult+=c;//设置暂时输出 
	UpdateData(FALSE);//将输出结果在控件上显示
}

/////////////////////////////////////////////////////////////////////
//函数名称:OnButtonPoint
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下按键“.”时的响应
//存在问题:暂无
/////////////////////////////////////////////////////////////////////
void CMyDlg::OnButtonPoint() 
{
	// TODO: Add your control notification handler code here
	char c='.';
    m_nResult+=c;
	//m_nNumber=m_nResult;
	UpdateData(FALSE);	
}

/////////////////////////////////////////////////////////////////////
//函数名称:OnOperateAdd
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下'+'键的响应,设置当前操作为加法
//存在问题:暂无
/////////////////////////////////////////////////////////////////////
void CMyDlg::OnOperateAdd() 
{
	// TODO: Add your control notification handler code here
    m_nNumber=m_nResult;
    m_nResult="";
	m_nOperator=1; //设置操作为加
}

/////////////////////////////////////////////////////////////////////
//函数名称:OnOperateSub
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下'-'键的响应,设置当前操作为减法
//存在问题:暂无
/////////////////////////////////////////////////////////////////////
void CMyDlg::OnOperateSub() 
{
	// TODO: Add your control notification handler code here
	m_nNumber=m_nResult;
    m_nResult="";
	m_nOperator=2; //设置操作为减
}

/////////////////////////////////////////////////////////////////////
//函数名称:OnOperateMul
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下'*'键的响应,设置当前操作为乘法
//存在问题:暂无
/////////////////////////////////////////////////////////////////////
void CMyDlg::OnOperateMul() 
{
	// TODO: Add your control notification handler code here
	m_nNumber=m_nResult;
    m_nResult="";
 	m_nOperator=3; //设置操作为乘
}

/////////////////////////////////////////////////////////////////////
//函数名称:OnOperateDiv
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下'/'键的响应,设置当前操作为除法
//存在问题:暂无
/////////////////////////////////////////////////////////////////////
void CMyDlg::OnOperateDiv() 
{
	// TODO: Add your control notification handler code here
	m_nNumber=m_nResult;
    m_nResult="";
	m_nOperator=4; //设置操作为除
}

////////////////////////////////////////////////////////////////////////////////
//函数名称: OnOperateEqual
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下'='键的响应, 得到运算式的计算结果
//存在问题: 1.连续运算时,每按完一次 = 才可出现正确结果,连续只按运算符时,
//          无法出现所需结果,如计算“5-2-1=?”时,若按依次按下5.-.2.-1.=时,
//          结果错误,若依次按5.-.2.=.-.1.=时则结果正确。
//          2.无法精确到小数点六位之后,对于过小的数运算时,结果为0.000000
////////////////////////////////////////////////////////////////////////////////
void CMyDlg::OnOperateEqual() 
{
	// TODO: Add your control notification handler code here
	double Nums,Numf,Result;  //定义第一个运算数Numf,第二个数Nums,运算结果Result
    Numf=atol(m_nNumber);  //调用atol函数,将Number转化为长整型数
    Nums=atol(m_nResult);  //调用atol函数,将Result转化为长整型数

	if(m_nOperator==1)    //m_nOperator为状态变量,1 为+ 2为- 3为* 4为/
	{
		Result=Numf+Nums; //加法
		m_nResult.Format ("%lf",Result);
		UpdateData(FALSE);//将结果传回控件
		m_nNumber=m_nResult;
	}
	if(m_nOperator==2)
	{
		Result=Numf-Nums; //减法
        m_nResult.Format ("%lf",Result);
		UpdateData(FALSE);//将结果传回控件
		m_nNumber=m_nResult;
	}
    if(m_nOperator==3)
	{
		Result=Numf*Nums; //乘法
        m_nResult.Format ("%lf",Result);
		UpdateData(FALSE);//将结果传回控件
		m_nNumber=m_nResult;
	}
    if(m_nOperator==4)
	{
		if(Nums!=0)
		{
			Result=Numf/Nums; //除法		
	        m_nResult.Format("%lf",Result);		    
		}
		else
		{
			Result=0;
			m_nResult.Format("%c",Result);            
		}
        UpdateData(FALSE);//将结果传回控件
	    m_nNumber=m_nResult;
	}
 
}

/////////////////////////////////////////////////////////////////////
//函数名称:OnOK
//完成人: 何林  2006116346
//完成时间: 2008-4-6
//主要功能:按下'清零'键的响应,无论计算器处于何种状态,按下该键时,
//         计算器的状态初始为零,显示为空
//存在问题:暂无
/////////////////////////////////////////////////////////////////////
void CMyDlg::OnOK() 
{
	// TODO: Add extra validation here
	m_nResult="";
	UpdateData(FALSE); //将结果传回控件
//	CDialog::OnOK();
}


⌨️ 快捷键说明

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