文档章节

MFC实现一个简单的计算器

startstorm
 startstorm
发布于 2015/09/17 20:36
字数 712
阅读 481
收藏 0

一、建立MFC程序

        1、文件------>新建-------->项目------->visual c++------>MFC-------------->MFC应用程序

 

        2、点击确定后直接下一步,然后在应用程序类型选择基于对话框,然后直接点击完成

 

二、对话框的设计

        1、第一步做完以后,会产生一个对话框,上面可能有按钮和文字,把那一些控件删除,只留下一个空白的对话框。接下来,我们要把对话框做成下面这个样子。

2、空白的对话框需要从工具箱中添加控件,才能出现上图的设计,这里用到了三种控件,一个是显示文字的控件,一个是编辑框,还有一个按钮

如果没有工具箱,就到-------视图------工具箱,就能找到了

三、如果控件布局好了,接下来就可以修改这些控件的属性了

        1、我们先修改Static Text空间的属性,这里修改一个,剩下的三个大家自己改,由于这个布局我是做好的,所以控件上的字“请输入第一个数”本来是没有的。

 

这里大家可以记一下,一般caption属性都是修改控件上的文字。

2、我么接着修改edit control控件的属性

 

3、我们接着修改button的属性

 

4、这里,我们把对话框的标题改一下,其实就是修改对话框的属性

 

四、为编辑框控件添加变量

 

在添加变量的属性框内

 

第一个编辑框就添加好变量了,从上往下,

第二个编辑框类别---value,变量类型Cstring,因为要接受运算符,变量名为b

第三个编辑框类别---value,变量类型double,变量名为c

第四个编辑框类别---value,变量类型double,变量名为result

 

五、双击计算按钮,为按钮添加事件,等我们做完以后,单击计算按钮,就会触发功能。

 

 

六、添加功能代码

void CcalcDlg::OnBnClickedButton1()
{
 // TODO:  在此添加控件通知处理程序代码
 
}

把下面的代码添加到上面函数的大括号内

 UpdateData(TRUE);//刷新得到控件的值
if (b == "+")     //判断运算符
 {
  result = a + c; 
 }  
 else if (b=="-")
 {
  result = a - c; 
 }  
 else if (b == "*")
 {
  result = a*c; 
 }  
 else if (b=="/")
 {
  if (c != 0)
  {
   result = a / c;
  }
  else
  {
   MessageBoxA(0, "除数不能为0", "提示", 0);   //当除数为0时,弹出提示框
  }  
 }
 else
 {
  MessageBoxA(0, "输入运算符有误", "提示", 0);
 }
 UpdateData(FALSE);

七、运行效果图

        

 

 

截图花了不少时间@~ @,如果有用就点个赞吧~~~~~~~~~~~

© 著作权归作者所有

startstorm
粉丝 6
博文 53
码字总数 21034
作品 0
浦东
程序员
私信 提问
使用 Google V8 引擎开发可定制的应用程序

V8 引擎概览 Google V8 引擎使用 C++ 代码编写,实现了 ECMAScript 规范的第五版,可以运行在所有的主流 操作系统中,甚至可以运行在移动终端 ( 基于 ARM 的处理器,如 HTC G7 等 )。V8 最早...

IBMdW
2012/04/13
3.2K
5
php简单实现算术表达式转换成逆波兰式,并求解

最近一直在学习C/C++,可学的都是原理语法之类的,没有实战成绩甚是令人不爽。想用C/C++写个计算器一直是我的夙愿,刚敲键盘,就不知可否了,想来想去还是对计算器的算法不是很清楚。由于本人...

joenali
2013/01/18
891
1
【翻译】gSOAP 2.8.5 用户手册(待续)

gSOAP 2.8.5 用户手册 1 简介 gSOAP工具基于编译器技术为C/C++提供自动的SOAP和XML数据绑定。(这句话不好理解,且向下看)。该工具使用自动生成代码以及先进的映射方法,简化了基于C/C++的S...

恋恋美食
2011/12/08
4.4K
0
CalcStar —— 一个 C++ 的数学表达式计算器

下载源码 - 969.2 KB 下载发行版 - 4.4 MB 介绍 CalcStar是一个可扩展的、快速的C++函数计算器,它有着像科学计算器一样强大的计算能力。它的库可以在任何C++工程中使用,提供函数计算功能。...

oschina
2014/03/25
1K
2
C语言程序员编程入门到精通学习基础篇—计算长方体体积—简单的小程序

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
2018/03/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud 笔记之Spring cloud config client

观察者模式它的数据的变化是被动的。 观察者模式在java中的实现: package com.hxq.springcloud.springcloudconfigclient;import org.springframework.context.ApplicationListener;i...

xiaoxiao_go
今天
4
0
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
今天
4
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
今天
7
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
今天
7
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部