版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业员工管理制度佳作汇编
- 2024年中国大回转示警灯市场调查研究报告
- 上海工商职业技术学院《材料表征方法理论与实践》2023-2024学年第一学期期末试卷
- 上海工商外国语职业学院《电力系统分析(一)》2023-2024学年第一学期期末试卷
- 上海工会管理职业学院《化学实验》2023-2024学年第一学期期末试卷
- Unit3 What would you like to eat?A Let's talk(教学实录)-2024-2025学年人教PEP版英语五年级上册
- 如何通过密码管理来增强网络诈骗的防范能力
- 精-品解析:广东省深圳市罗湖区2023-2024学年高一上学期期末考试化学试题(解析版)
- 机械设计基础课件 模块11 其他常用零部件分析与设计
- 托班用电安全
- 2024年浙江省单独招生文化考试语文试卷(含答案详解)
- 山东省泰安市2024届高三上学期期末数学试题(含答案解析)
- 少儿编程获奖课件
- 2024年《风力发电原理》基础技能及理论知识考试题库与答案
- 软件开发项目监理细则
- (必会)军队文职(药学)近年考试真题题库(含答案解析)
- 医院后勤副院长年终工作总结
- 2024年医院物价管理制度范例(四篇)
- 登高车高空作业施工方案
- 2024年新人教版四年级数学上册《第9单元第4课时 统计与数学广角 总复习》教学课件
- GB/T 15822.3-2024无损检测磁粉检测第3部分:设备
评论
0/150
提交评论