求一个mfc做计算器的详细步骤,谢谢 用c++的mfc做计算器的具体步骤,急求

作者&投稿:滑福 (若有异议请与网页底部的电邮联系)
数字按钮+数字按钮的函数,然后如何得到按钮上的值的函数,并转换为整形,然后就做好相加,相减,相乘,相除公式算法~~最后一个等于按钮和等于按钮的函数,然后再把得出的值显示在编辑框中!!步骤在此啦~~一般详细了,但是怎么实现就需要你自己去查资料了!

零基础就先学C++吧。再学MFC,用里面的控件做下基本的界面。然后计算器有专门的算法:前缀表达式转为后缀表达式和堆栈,把这些学懂了算法这块就没问题了

求MFC编写计算器的详细方法 步骤 代码~

在MFC AppWized(exe)项目下做。界面自己做
1.在对话框的头文件CalculatorDlg.h中添加#include
2.为CCalculatorDlg类添加成员数据和成员函数
double number1,number2;
int NumberState,OperationState;
void cal();
并在CCalculatorDlg类的构造函数中增加NumberState=1;
3.添加消息按钮afx_msg void OnNumberKey(UINT nID);
afx_msg void OnOperationKey(UINT nID);
4.在CalculatorDlg.cpp文件中BEGIN_MESSAGE_MAP(CMy1Dlg, CDialog)和END_MESSAGE_MAP()间添加代码
ON_COMMAND_RANGE(IDC_NUMBER1,IDC_NUMBER10,OnNumberKey)
ON_COMMAND_RANGE(IDC_NUMBER11,IDC_NUMBER20,OnOperationKey)
5.为成员函数OnNumberKey和OnOperationKey添加代码
void CCalculatorDlg::OnNumberKey(UINT nID)
{
int n=0;
switch(nID)
{
case IDC_NUMBER1:n=1;break;
case IDC_NUMBER2:n=2;break;
case IDC_NUMBER3:n=3;break;
case IDC_NUMBER4:n=4;break;
case IDC_NUMBER5:n=5;break;
case IDC_NUMBER6:n=6;break;
case IDC_NUMBER7:n=7;break;
case IDC_NUMBER8:n=8;break;
case IDC_NUMBER9:n=9;break;
case IDC_NUMBER10:n=0;break;
}
if(NumberState==1)
{
m_result=m_result*10+n;
number1=m_result;
UpdateData(FALSE); // 更新编辑框中的值
}
else
{
m_result=m_result*10+n;
number2=m_result;
UpdateData(FALSE);
}
}
void CCalculatorDlg::OnOperationKey(UINT nID)
{
switch(nID)
{
case IDC_NUMBER13: // "/"按钮
OperationState=1;
UpdateData(FALSE);
m_result=0;
NumberState=2;
break;
case IDC_NUMBER14: // "*"按钮
OperationState=2;
UpdateData(FALSE);
m_result=0;
NumberState=2;
break;
case IDC_NUMBER15: // "+"按钮
OperationState=3;
UpdateData(FALSE);
m_result=0;
NumberState=2;
break;
case IDC_NUMBER16: // "-"按钮
OperationState=4;
UpdateData(FALSE);
m_result=0;
NumberState=2;
break;
case IDC_NUMBER17: // "C"按钮,撤消用,不需要可以删除
number1=number2=m_result=0;
UpdateData(FALSE);
NumberState=1;
break;
case IDC_NUMBER20: // "="按钮
cal(); // 调用cal成员函数
break;
}
}
6.为成员函数cal()添加代码
void CCalculatorDlg::cal()
{
switch(OperationState)
{
case 1:
m_result=(double)number1/number2;
UpdateData(FALSE); // 更新编辑框中的结果
number1=m_result; // 把此次的运算结果作为下一次运算的第一个操作数
NumberState=2; // 下次输入的数作为第二个操作数
break;
case 2:
m_result=number1*number2;
UpdateData(FALSE); // 更新编辑框中的结果
number1=m_result;
NumberState=2;
break;
case 3:
m_result=number1+number2;
UpdateData(FALSE); // 更新编辑框中的结果
number1=m_result;
NumberState=2;
break;
case 4:
m_result=number1-number2;
UpdateData(FALSE); // 更新编辑框中的结果
number1=m_result;
NumberState=2;
break;
}
OperationState=0;
}
注意按钮的ID号要和程序中的ID号相同!!!!

嗯,实现如下:
用visual stdio 或者 visual c++ 6.0建一个MFC的工程项目,默认会自动有一个面板。
然后在面板上添加按钮(button(包括数值和计算的法则)),并为每个button关联一个变量(0-9),对于=则右击选择添加函数,执行具体操作。
再在面板上添加一个可编辑框,用于显示结果,关联到一个变量。
在点击=之后,执行操作的时候,将获取的变量序列通过数据结构(清华大学版中有)中的介绍栈的实例就是讲解如果将计算式表达为后缀表达式,并计算结果,这个就涉及到具体怎么实现算法了,你需要哪一步怎么用的时候再上网查下怎么做,这样即能做出来,而且以后还知道怎么做了。

MFC 编计算器问题
答:方法1:将输入框关联变量CEdit,添加OnChangeEditNum响应,在“+”按钮中加入标记"flag",同时利用CEdit的SetFocus将焦点设置回去。当摁下"+"时,flag改变,输入焦点仍为CEdit,然后再输入框里输入东西的时候,会激活OnChangeEditNum响应,然后根据flag状态,判断是否清楚原先框内的东西。这样就达到了你说的...

如何用VC++6.0 MFC 实现计算器
答:如何用VC++6.0 MFC 实现计算器  我来答 1个回答 #热议# 蓝洁瑛生前发生了什么?java118 2005-12-22 · TA获得超过9311个赞 知道小有建树答主 回答量:1387 采纳率:100% 帮助的人:514万 我也去答题访问个人页 关注 展开全部 Figure 8-10. The DlgCalc application. DlgCalc.h// Dlg...

...只需计算加减乘除 (另建一文档附带简单文字说明制作过程)_百度...
答:Backspace :删除当前输入的最后一位数。CE :清除当前显示的数,不影响已经输入的数。C :清除当前的计算,开始新的计算。MC :清除存储器中的数据。MR:调用存储器中的数据。MS:存储当前显示的数据。M+:将显示的数据加到存储器中,与已存入的数据相加。Mod求模(即整数相除求余数)And按位与, ...

使用MFC制作简单计算器
答:void CCalDlg::OnButtonadd(){ // TODO: Add your control notification handler code here UpdateData(); isresult=TRUE; num1 = m_edit; m_edit=""; UpdateData(false); oper=1;}void CCalDlg::OnButtondeng(){ // TODO: Add your control notification handler...

现在要做一个基于MFC的简单计算器,各个按钮的函数代码怎么写啊_百度...
答:我没做过,我只是建议:处理步骤分:0-9数字处理,运算符处理。定义4个全局变量 double a,b,c;int d;//d用于记录运算符 输入的数字 a=a*10+x;//x是按下的数字按钮 当按入小数点后 b=1;后循环 a=a+x/(10*b)b++;按下运算符后 d被赋值,你可以自己定义。同时第一个数字就可以保存...

VC如何编写一个简单的计算器?
答:2008-08-19 如何用vc++编写一个简单的(只有加减乘除)计算器程序? 53 2012-02-12 用VC++编写一个简单的计算器 3 2019-01-01 用c++编写一个简单的计算器 4 2016-07-01 用javaFX编写一个简单的计算器 2013-09-24 怎样用C++编写一个简单的计算器 3 2008-12-27 怎么用VC6.0编一个简单计算器? 2...

MFC编写计算器具体步骤 方法 代码,拜托高手急用!
答:计算器应该分为数字输入,后台计算,及运算结果显示。数字输入及结果显示比较简单,用text控件即可解决,这部分主要是用好updatedata.后台的计算比较关键,主要是每个按钮对应的运算方法,及运算参数的保存。

用MFC编写一个基于对话框的计算器,在界面上怎么对按钮进行排列?_百度...
答:按住ctrl键把你想对齐的复选上然后点击标题栏上面有个layout打开就可以看到下拉菜单里面有左。右对齐等 或者有快捷图标,可以直接点击,就在build,debug那栏的下面有一行图标,就是了,注意一定复选上按钮才能用,再不行的话,给我发消息

跪求MFC写的计算器 作业用
答:1.定义一个BOOL成员来处理 显示第一个数 或者运算符按下后的数 2.显示的按键结果的话 就是 m_result=m_result*10+按键

现在用MFC编windows计算器,怎样实现键盘控制,输入数字,运算符??请...
答:edit组件 调用获得的组件输入的文本并转换为数字后 运算符用button 既然你用mfc编写 那你的那些运算符用button来比较好