📄 计算器dlg.cpp
字号:
// 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 + -