MFC简单计算器

MFC简单计算器

ID:38059571

大小:94.50 KB

页数:3页

时间:2019-05-22

MFC简单计算器_第1页
MFC简单计算器_第2页
MFC简单计算器_第3页
资源描述:

《MFC简单计算器》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MFC计算器实现(VS2008/vs2010旗舰试用版)随心无语第二篇,MFC初步学习本鸟刚刚开始上班,实习期都是没事干的,先是用Delphi做了个计算器~~~~~本菜鸟近来闲着蛋疼,于是想起了MFC这个东东,本鸟非计算机专业学生,但大学学过一些语言,也算半个,木有学过MFC,于是尝试用MFC写个计算器练习下,如果有和我一样想法的鸟,那就一起学习吧!既然我们都是鸟,就不废话,切入正题1:文件->新建->项目->MFC应用程序=>命名工程名(就叫CalculatorBata1吧!)MFC应用程序向导:应用程序类型:基于对话框(D)->完成//到此为止准备工作完成了一般用户界面->自己看

2、吧,随便都可以!2:把面板上的“确定”,“取消”等删掉->工具箱:Button和EditControl控件移动到面板上,吧Button的Caption改为对应数字、符号->属性->杂项:修改ID为自己容易理解的方式(也可以不修改,这一步要在编译前完成,否则后面因ID无法识别而编译失败)3:右击面板上的EditControl编辑框->添加成员变量->控件ID:确定是EditControl的->类别:value(改了类别才能改类型)->类型:double//这个就是要出现在编辑框的数据,你也可以改为CString来显示汉字等->你喜欢啥就叫啥,比如叫result_14:在头文件Calcu

3、latorBata1Dlg.h的对话框类最后一行将出现(public)你刚刚添加的变量:doubleresult_1;这时你可以自己其后面添加一些自己需要的其它数据,比如运算符标志operation,数据缓存temp等等/*到此为止,所有准备工作完成了!接下来看看现象吧*/5、返回到:资源视图,打开面板,双击Button控件(如Caption为数字1的那个)->进入CalculatorBata1Dlg.cpp中对应控件Button函数然后键入代码:result=123;UpdateData(flase);//刷新编辑框中显示数字,具体去问MSDN,问度娘也是可以的6、编译F7->运行

4、F5->单机对话框中的(Button)"1",这是编辑框将出现"123"。如果你看到了,计算器你已经做好了它的基本部分,接下来就是精髓部分=>算法7、算法最好自己多想想实现哈。我也给几个连鸟屎都能想出的办法一、输入数字部分voidCCacularBata11Dlg::OnBnClicked0()//数字1,这个事数字输入部分{if(operation!=0)//operation是运算标志,1代表+,2代表-,三代表*,四代表/temp2=temp2*10+1;//temp1、temp2代表计算的第一个、第二个数elsetemp1=temp1*10+1;Result_1=Result

5、_1*10+1;//Result_1是编辑框的成员变量,也就是显示的数啦UpdateData(FALSE);//更新显示}二、运算的实现voidCCacularBata11Dlg::OnBnClickedadd()//加法{operation=1;//不同的运算给不同的值,给0代表啥?想不出肯定你“老湿”小学没毕业number_1=0;UpdateData(FALSE);}三、等号实现voidCCacularBata11Dlg::OnBnClickedequal()//equaldealwith{UpdateData(TRUE);switch(operation){case1:Res

6、ult_1=temp1+temp2;break;case2:Result_1=temp1-temp2;break;case3:Result_1=temp1*temp2;break;case4:if(temp2<=0.000001){temp2=1;}Result_1=temp1/temp2;break;//temp2<=0.000001?这个问你老师default:nResult_1=temp1;break;}operation=0;//还原初始运算初始状态temp1=Result_1;temp2=0;UpdateData(FALSE);}四、退格处理voidCCacularBata

7、11Dlg::OnBnClickedBackspace(){if(operation!=0)temp2=(int)temp2/10;//丢掉小数部分elsetemp1=(int)temp1/10;Result_1=(int)Result_1/10;UpdateData(FALSE);}四、清零voidCCacularBata11Dlg::OnBnClickedC()//自定义的变量,一个都不能少{mm=1;temp1=0;temp2=0;operation

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。