VC计算器


1、新建PROJECT\MFC(exe)文件

下面就NEXT,然后FINISH就可以啦

2、编辑计算器界面


3、对应按键加入程序(包括0-9,C,=,+-*/)

void CCAL1Dlg::OnNum0() 
{
 if(append==1)
  result=0;
 result=result*10+0;
 m_edit1=result;
 append=0;
 UpdateData(FALSE); 
}


void CCAL1Dlg::OnNum1() 
{
 if(append==1)
  result=0;
 result=result*10+1;
 m_edit1=result;
 append=0;
 UpdateData(FALSE); 
}

void CCAL1Dlg::OnNum2() 
{
 if(append==1)
  result=0;
 result=result*10+2;
 m_edit1=result;
 append=0;
 UpdateData(FALSE); 
}

void CCAL1Dlg::OnNum3() 
{
 if(append==1)
  result=0;
 result=result*10+3;
 m_edit1=result;
 append=0;
 UpdateData(FALSE); 
}

void CCAL1Dlg::OnNum4() 
{
 if(append==1)
  result=0;
 result=result*10+4;
 m_edit1=result;
 append=0;
 UpdateData(FALSE); 
}

void CCAL1Dlg::OnNum5() 
{
 if(append==1)
  result=0;
 result=result*10+5;
 m_edit1=result;
 append=0;
 UpdateData(FALSE); 
}

void CCAL1Dlg::OnNum6() 
{
 if(append==1)
  result=0;
 result=result*10+6;
 m_edit1=result;
 append=0;
 UpdateData(FALSE); 
}

void CCAL1Dlg::OnNum7() 
{
 if(append==1)
  result=0;
 result=result*10+7;
 m_edit1=result;
 append=0;
 UpdateData(FALSE); 
}

void CCAL1Dlg::OnNum8() 
{
 if(append==1)
  result=0;
 result=result*10+8;
 m_edit1=result;
 append=0;
 UpdateData(FALSE); 
}

void CCAL1Dlg::OnNum9() 
{
 if(append==1)
  result=0;
 result=result*10+9;
 m_edit1=result;
 append=0;
 UpdateData(FALSE); 
}

void CCAL1Dlg::OnC() 
{
 tempvalue=result=m_edit1=0;
 UpdateData(FALSE);
}

void CCAL1Dlg::OnEq() 
{
 switch(sort)
 {
 case 1:result=result+tempvalue;break;
 case 2:result=tempvalue-result;break;
 case 3:result=result*tempvalue;break;
 case 4:result=tempvalue/result;break;
 }
 m_edit1=result;
 UpdateData(FALSE); 
}

void CCAL1Dlg::OnAdd() 
{
 sort=1;
 tempvalue=result;
 m_edit1=0;
 append=1; 
}

void CCAL1Dlg::OnSub() 
{
 sort=2;
 tempvalue=result;
 m_edit1=0;
 append=1;  
}

void CCAL1Dlg::OnMul() 
{
 sort=3;
 tempvalue=result;
 m_edit1=0;
 append=1;  
}

void CCAL1Dlg::OnDiv() 
{
 sort=4;
 tempvalue=result;
 m_edit1=0;
 append=1;  
}

4、一些全局变量还没有声明和赋初始值
在CAL1Dlg.h头文件中声明变量
 double tempvalue;//存储中间变量
 double result;//显示结果
 int sort;//加减乘除
 int append;//判断是否为数字

double m_edit1;

在CAL1Dlg.cpp下面加入对变量的初始化

 m_edit1=0;


5、
#include "math.h"

还需要像图片中一样,加入一句话:DDX_Text(pDX, IDC_EDIT1, m_edit1);

这句话的意思,好像是将m_edit1显示在控件IDC_EDIT1里面。pDX应该是个地址指针

这样结果才会显示出来。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值