欢迎来到天天文库
浏览记录
ID:37794807
大小:30.83 KB
页数:4页
时间:2019-05-31
《计算器VC源代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VC++计算器设计设计一个简单的计算器,能够实现浮点型数的加、减、乘、除、开方、倒数运算。运行界面如图所示。步骤如下:1、创建一个对话框应用程序MyCalculator;2、在“ProjectWorkspace”窗口,选择“ResourceView”标签,双击Dialog下的“IDD_MYCALCULATOR_DIALOG”,从“IDD_MYCALCULATOR_DIALOG”对话框删除“OK”和“Cancel”及“TODO文本”,将对话框标题设置为“计算器”。3、编辑对话框资源。向对话框添加按钮(Button)控件,并设置属性见表。计算器对话框对象
2、属性对象控件IDCaption对象控件IDCaptionButtonIDC_BUTTON00ButtonIDC_BUTTON_MUTIPLY*ButtonIDC_BUTTON11ButtonIDC_BUTTON_DIV/………………ButtonIDC_BUTTON_CLEARCButtonIDC_BUTTON99ButtonIDC_BUTTON_SQRTsqrtButtonIDC_BUTTON_POINT.ButtonIDC_BUTTON_RECI1/xButtonIDC_BUTTON_SIGN+/-ButtonIDC_BUTTON_EQUAL=Bu
3、ttonIDC_BUTTON_ADD+EditBoxIDC_DISPLAY(只读)EditButtonIDC_BUTTON_MINUS-ButtonIDC_BUTTON_JIECHENGn!ButtonIDC_BUTTON_FABSfabsButtonIDC_BUTTON_TANcosButtonIDC_BUTTON_SINsinButtonIDC_BUTTON_TANtanButtonIDC_BUTTON_LNLnButtonIDC_BUTTON_PIPi4、为对话框类添加成员变量1.doublem_first;//存储一次运算的第一个操作数及一次
4、运算的结果2.doublem_second;//存储一次运算的第二个操作数3.CStringm_operator;//存储运算符4.doublem_coff;//存储小数点的系数权值5.CStringm_display;//编辑框IDC_DISPLAY的关联变量,显示计算结果5、在对话框类的构造函数中,初始化成员变量CMyCalculatorDlg::CMyCalculatorDlg(CWnd*pParent/*=NULL*/):Dialog(CMyCalculatorDlg::IDD,pParent){……m_display=_T("0.0");m
5、_first=0.0;m_second=0.0;m_operator=_T("+");m_coff=1.0;……}6、为对话框添加2个成员函数:voidUpdateDisplay(doublelVal)—用于在编辑框中显示数据voidCMyCalculator::Calculate()---用于计算voidCMyCalculatorDlg::UpdateDisplay(doublelVal){//在编辑框中显示数据m_display.Format(_T("%f"),lVal);inti=m_display.GetLength();while(m_di
6、splay.GetAt(i-1)=='0')//格式化输出,将输出结果后的零截去{m_display.Delete(i-1,1);i--;}UpdateData(false);//更新编辑框变量m_display}voidCMyCalculator::Calculate(){//将前一次数据与当前数据进行运算,作为下次的第一操作数,并在编辑框显示。switch(m_operator.GetAt(0)){case'+':m_first+=m_second;break;case'-':m_first-=m_second;break;case'*':m_f
7、irst*=m_second;break;case'/':if(fabs(m_second)<=0.000001){m_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事件添加响应函数,并编写代码(1)数字”N”的消息响应函数(N=0,1,…9)voidCMyCalc
8、ulatorDlg::OnButtonN(){if(m_coff==1.0)m_second=m_secon
此文档下载收益归作者所有