实验项目一:计算器的设计和实现

一、前言

本文旨在记录“简单计算器的设计和实现”项目的开发过程。
设计的计算器实现的简单功能:

  1. 能通过设计的按钮控件输入并实现简单算术运算,表达式在编辑框中显示,能将运算结果,输出在编辑框内显示;
  2. 能够实现混合运算的求解,算术表达式中包括加、减、乘、除、括号等运算符;
  3. 能够识别括号,优先级正确。并保存历史的表达式运算记录。

二、基本流程

(插一个思维导图

三、MFC界面设计

1. 基础控件与模块的添加

包括20个Button控件和两个Edit控件。考虑到5行4列Button的美观情况,选取10个数字,加减乘除4个基本运算符,等号、小数点、括号这4个基础按键,删除了CE功能,只保留C清屏和Backspace回退这两个操作。如下图所示
在这里插入图片描述
并且为算式框绑定mEdit变量,为历史记录框绑定mOut变量。

2. 各按键添加响应函数

数字0~9(以数字0为例,其余代码只需改动相应数字

void CMFCCalculatorDlg::OnBn0()
{
   
	// 数字“0”
	CString str;
	mEdit.GetWindowText(str);
	str = str + _T("0");
	mEdit.SetWindowText(str);
}

基本运算符’+’,’-’,’*’,’/’,’(’,’)’,’.’(以加号为例

void CMFCCalculatorDlg::OnBnAdd()
{
   
	// 加号
	CString str;
	mEdit.GetWindowText(str);
	str = str + _T("+");
	mEdit.SetWindowText(str);
	mOut.SetWindowText(str);
}

操作符CE,Backsp

void CMFCCalculatorDlg::OnBnCE()
{
   
	// “清屏”
	mEdit.SetWindowText(_T(""));
}


void CMFCCalculatorDlg::OnBnBacksp()
{
   
	// “后退”
	CString str;
	mEdit.GetWindowText(str);
	str = str.Left(str.GetLength() - 1
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值