计算器VC源代码_第1页
计算器VC源代码_第2页
计算器VC源代码_第3页
计算器VC源代码_第4页
计算器VC源代码_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、VC+计算器设计设计一个简单的计算器,能够实现浮点型数的加、减、乘、除、开方、倒数运算。运行界面如图所示。步骤如下:1、创建一个对话框应用程序MyCalculator;2、在“Project Workspace”窗口,选择“Resource View”标签,双击Dialog下的“IDD_MYCALCULATOR_DIALOG”,从“IDD_MYCALCULATOR_DIALOG”对话框删除“OK” 和“ Cancel”及“TODO文本” ,将对话框标题设置为“计算器”。3、编辑对话框资源。向对话框添加按钮(Button控件,并设置属性见表。计算器对话框对象属性对象控件ID Caption 对象

2、控件ID Caption ButtonIDC_BUTTON00ButtonIDC_BUTTON_MUTIPLY*ButtonIDC_BUTTON11ButtonIDC_BUTTON_DIV/ButtonIDC_BUTTON_CLEARCButtonIDC_BUTTON99ButtonIDC_BUTTON_SQRTsqrtButtonIDC_BUTTON_POINT.ButtonIDC_BUTTON_RECI1/xButtonIDC_BUTTON_SIGN+/-ButtonIDC_BUTTON_EQUAL=ButtonIDC_BUTTON_ADD+Edit BoxIDC_DISPLAY(只读)E

3、ditButtonIDC_BUTTON_MINUS-4、为对话框类添加成员变量1. double m_first;/存储一次运算的第一个操作数及一次运算的结果2. double m_second;/存储一次运算的第二个操作数3. CString m_operator;/存储运算符4. double m_coff;/存储小数点的系数权值5. CString m_display;/编辑框IDC_DISPLAY的关联变量,显示计算结果5、在对话框类的构造函数中,初始化成员变量CMyCalculatorDlg:CMyCalculatorDlg(CWnd* pParent /*=NULL*/: Dial

4、og(CMyCalculatorDlg:IDD, pParent m_display = _T("0.0"m_first = 0.0;m_second= 0.0;m_operator=_T("+"m_coff = 1.0;6、为对话框添加2个成员函数:void UpdateDisplay(double lVal用于在编辑框中显示数据void Calculate(-用于计算void CMyCalculatorDlg:UpdateDisplay(double lVal /在编辑框中显示数据m_display.Format(_T("%f",

5、lVal;int i=m_display.GetLength(;while(m_display.GetAt(i-1='0' /格式化输出,将输出结果后的零截去 m_display.Delete(i-1,1; i-; UpdateData(false;/更新编辑框变量m_display void CMyCalculator:Calculate( /将前一次数据与当前数据进行运算,作为下次的第一操作数,并在编辑框显示。switch(m_operator.GetAt(0 case '+': m_first+=m_second;break;case '-'

6、;: m_first-=m_second;break;case '*': m_first*=m_second;break;case '/':if(fabs(m_second<=0.000001m_display="除数不能为0"UpdateData(false;return; m_first/=m_second;break;m_second=0.0;m_coff=1.0;m_operator=_T("+"UpdateDisplay(m_first;/更新编辑框显示内容7、为Button按钮的BN_CLICKED事件添

7、加响应函数,并编写代码(1) 数字”N”的消息响应函数(N=0,1,9void CMyCalculatorDlg:OnButtonN( if( m_coff = 1.0m_second = m_second*10 + N;/作为整数输入数字时else m_second = m_second + N*m_coff; /作为小数输入数字m_coff *= 0.1; UpdateDisplay(m_second;/更新编辑框的数字显示(2) 运算符按钮的消息响应函数: “+”按钮的消息处理函数void CMyCalculatorDlg:OnButtonAdd( /加、减、乘类似 Calculate(

8、;m_operator="+" /减为“-”、乘为“*” “/”按钮的消息处理函数void CMyCalculatorDlg:OnButtonDiv( Calculate(; m_operator.Format("%s","/" (3) ”1/x“按钮的消息响应函数void CMyCalculatorDlg:OnButtonReciprocal( /1/x按钮的消息处理函数if(fabs(m_second<0.000001 && fabs(m_first<0.000001m_display = "

9、除数不能为零"UpdateData(false;return; if( fabs(m_second<0.000001 m_first=1.0/m_first;UpdateDisplay(m_first;else m_second=1.0/m_second;UpdateDisplay(m_second; (4) “Sqrt”按钮的消息处理函数void CMyCalculatorDlg:OnButtonSqrt( if( m_second=0 m_first=sqrt(m_first; UpdateDisplay(m_first; else m_second=sqrt(m_second; UpdateDisplay(m_second; (5) “.”按钮的消息处理函数void CMyCalculatorDlg:OnButtonPoint( m_coff = 0.1 ;(6) “+/-”按钮的消息处理函数void CMyCalculatorDlg:OnButtonSign( m_second = -m_second; UpdateDisplay(m_second;(7) “=”按钮的消息处理函数void CMyCalculatorDlg:OnButtonEqual( Calculate(; (8) “C”按钮的消息处理函数void CMy

温馨提示

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

评论

0/150

提交评论