第10讲__整数计算器_第1页
第10讲__整数计算器_第2页
第10讲__整数计算器_第3页
第10讲__整数计算器_第4页
第10讲__整数计算器_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 第10讲 整数计算器 2 3本讲主要内容1. 界面布局2. 操作数按钮3. 运算符按钮4. “=”按钮5. 辅助按钮41. 整数计算器概述 从整数计算器的界面中可以看出,该程序主要应用按钮和文本编辑框控件,重点是如何正确处理各个按钮的响应函数,使每一个数字按钮或运算符按钮单击后都能显示正确的结果。 52. 界面布局操作步骤:(1)建立工程Integer Calculator,实现下图所示界面,各控件ID如表所示。62. 界面布局控件名称ID控件名称ID按钮0IDC_B0按钮9IDC_B9按钮1IDC_B1按钮=IDC_BEQUAL按钮2IDC_B2按钮/IDC_BDIV按钮3IDC_B3按

2、钮*IDC_BMUL按钮4IDC_B4按钮+IDC_BADD按钮5IDC_B5按钮-IDC_BSUB按钮6IDC_B6按钮CIDC_BC按钮7IDC_B7文本编辑框IDC_VALUE按钮8IDC_B872. 界面布局(2)为所有的按钮添加单击响应函数。(3)为IDC_VALUE文本编辑框添加int类型的关联变量m_nValue。(4)在Integer CalculatorDlg.h文件中添加如下变量: int m_nOperand1;/操作数1int m_nOperand2;/操作数2int m_nOperator;/运算符标识 BOOL m_bOperator; /是否已经按了操作符82.

3、界面布局(5)在Integer CalculatorDlg.cpp文件中的CIntegerCalculatorDlg类构造函数中添加如下代码:m_nOperand1 = 0;m_nOperand2 = 0;m_nOperator = -1;m_bOperator = FALSE;93. 操作数按钮 在整数计算器中,操作数需要通过数字按钮录入,那么如何将数字按钮的单击转换为实际的数值呢?103. 操作数按钮操作步骤:(1)以数字“0”按钮为例讲述数字按钮的响应过程。 113. 操作数按钮void CIntegerCalculatorDlg:OnB0() m_nValue = m_nValue*1

4、0 + 0;UpdateData(FALSE);将m_nValue乘10加上0,当m_nValue值为0时,可以避免出现连续多个无意义的0,当m_nValue值不为0时,又可以得到正确的结果。最后调用UpdateData(FALSE)函数进行数据交换,更新界面显示内容。 123. 操作数按钮 其他数字按钮的响应函数与数字“0”按钮类似,仅列出数字“1”按钮的响应函数。 void CIntegerCalculatorDlg:OnB1() m_nValue = m_nValue*10 + 1;UpdateData(FALSE);134. 运算符按钮 当 单 击 运 算 符 按 钮 时 , 除 需

5、要 设 置m_nOperator的数值和m_bOperator外,还应该将用户录入的数值保存起来,并将m_nValue置0,为录入下一个操作数做准备。 144. 运算符按钮操作步骤: 以“+”按钮为例,其响应函数为: void CIntegerCalculatorDlg:OnBadd() m_nOperator = 1; /置1表示加法,2表示减法,3表示乘法,4表示除法m_bOperator = TRUE;m_nOperand1 = m_nValue;m_nValue = 0;注意,再此不需要调用注意,再此不需要调用UpdateData(FALSE)函函数,因为当按运算符时数,因为当按运算符

6、时文本编辑框中仍然显示文本编辑框中仍然显示第一个操作数。第一个操作数。 155. “=”按钮 当单击“=”按钮时,首先需要判断是否单击过运算符,然后根据运算符标识进行相应的计算,并显示结果。165. “=”按钮操作步骤:void CIntegerCalculatorDlg:OnBequal() if(m_bOperator = FALSE) /判断是否单击过运算符AfxMessageBox(输入错误,请单击运算符);return;m_nOperand2 = m_nValue; /获得第二个操作数switch(m_nOperator) /根据运算符表示计算case 1:m_nValue = m_

7、nOperand1 + m_nOperand2;break;case 2:m_nValue = m_nOperand1 - m_nOperand2;break;case 3:m_nValue = m_nOperand1 * m_nOperand2;break;175. “=”按钮case 4:if(m_nOperand2 = 0)/判断除数是否为0 AfxMessageBox(被除数不能为零,请重新计算!); OnBc();/清空所有标识,即“C”按钮响应函数elsem_nValue = m_nOperand1 / m_nOperand2;break;UpdateData(FALSE);/显示计算结果m_nValue = 0;/为下一次运算作准备186. 辅助按钮 在整数计算器中,还有一个按钮未完成,即“C”,其功能是清除所有信息,包括保存在m_nOperand1和m_nOperand2的数值。 196. 辅助按钮操作步骤:(1)按钮“C”的响应函数为:void CIntegerCalculatorDlg:OnBc() m_nValue = 0;m_nO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论