《开发一个简单计算器程序-基于对话框.docx》由会员分享,可在线阅读,更多相关《开发一个简单计算器程序-基于对话框.docx(9页珍藏版)》请在三一办公上搜索。
1、开发一个简洁科学计算器(基于对话框模式的应用程序开发目标与软件功能开发一个科学计算器程序,要求采纳基于对话框模式的应用程序,至少具有加、减、乘、除四个基本功能,并在此基础上扩展平方、开方、三角函数等功能。(1)细致阅读操作过程,学习如何依据编译信息.定位语法错误。(2)将警告与错误一律看作是错误。(3)学习并仿照书上的程序书写风格。编程步骤1 .启动ViSUa1.C+6.0,选择FiIenew菜单项,弹出New对话框。单Projects选项卡,项目类型选择MFCAPPWiZard(exe),Projectname中填入工程名,在1.。Cation中填用户子书目路径(设置用户程序子书目的目的是,
2、将全部编程时产生的中间文件和最终执行程序文件全部放在自己的书目中,以便管理)。2 .在程序向导的第1步选择建立一个基于对话框(Dia1.ogbased)的应用程序,点击uFinish结束向导。3 .在对话框上添加各类控件,设计对话框的界面如图所示。在对话框中右键点击,弹出属性设置对话框(DiaIogProperties),标题(caption)中填入“迷你计算器”;其余各控件的参数设置如下表所示。控件类型ID号Caption其它ButtonIDC.ADD+ButtonIDC_SUBButtonIDC-MU1.ButtonIDC-DIV/ButtonIDC-SINsinButtonIDC.COS
3、COSButtonIDC.SQUx2ButtonIDC-REC1/xButton(DC-EQUA1.=EditBoxIDC_FIRSTEditBoxIDC-SECONDEditBoxIDC-RESU1.T4 .为对话框中的控件添加相应的成员变母:点击菜单“WewCIassWizard*,点击MemberVariab1.es标签项.为对话框中的三个编辑框控件添加对应的成员变量如图所示。Mrte)eMgMe*befVrtWesJUJUZhcAcvEvmtsC1.xsIf4oF2CUSaekH33In1.1.1.B10D.yC4(prCarftw1.ReTypeMrmctDc*c1Ao:dsuMCB
4、Iffef*agrvahtfaok添加成员变量的步骤为:选中IDJFIRSr,点击AddViarab1.e,在弹出的对话框中,指定成员变量名为分类为-Va1.ue*,变量类型为“doub1.e,点击OK-确定。其余依此类推.5 .为运算符按钮添加相应的消息映射函数:点击菜单“ViewCIassWizard*,选中“MessageMaps”标签,目标ID号中选择IDC.ADD在-Messages中选择BN-C1.ICKED,双击,弹出-添加成员函数”对话崔,默认函数名为OnAdd,点击OKZ同理,为其它各运算对应的ID号添加成员函数。6 .在加法计算按钮的消息影射函数OnAdd和得到计算结果的消
5、息影射函数OnEqUa1.中分别输入下列代码:voidCca1.cuIatorDIg-OnAddO(/TODO:Addyourcontro1.notificationhand1.ercodehereUpdateDataaRUE);得到用户输入的数据m_resu1.(=m_first+m_second;)voidCca1.cuIatorDIg-OnEquaIO/TODO:Addyourcontro1.notificationhand1.ercodehereUpdateData(FA1.SE):/将计算结果在编辑框中显示出来)其中UPdateData()是MFC的窗口函数,用来刷新数据。当括号内的
6、变量为TRUE时,用窗体上控件中的内容来更新和控件相关联的成员变量值;当括号内的变量为FA1.SE时,正好相反,将控件的关联成员变量的值传给控件并在控件中显示出来。同理,在其它运算按钮的消息影射函数中添加相应的计算代码如下:voidCCa1.cu1.atorD1.g:OnCos()(UPdateDataCrRUE);得至U用户输入的数据m_resu1.t=cos(3.1415926*m_first/180);)voidCCa1.cu1.atorD1.g:OnDiv()(UPdateData(TRUE);得至用户输入的数据m_resu1.t=m_first/m_second;voidCca1.c
7、uIatorDIg-OnMuIO(UpdateData(TRUE);得到用户输入的数据m-resu1.t=m_first*m_second;voidCCa1.cu1.atorD1.g:OnRec()UpdateDataaRUE);得到用户输入的数据m_resu1.t=1./m_first;)voidCCa1.cu1.atorD1.g:OnSin()(UPdateDataCrRUE);得到用户输入的数据m_resu1.t=sin(3.1415926*m_first/180);)voidCCa1.CUIatorDIg:QnSqUo(UPdateData(TRUE);得至U用户输入的数据m-res1
8、.t=pow(mjirst,2);voidCCa1.cu1.atorD1.g:OnSub()(UpdateDataaRUE);得到用户输入的数据m_resu1.t=m_first-m.second;7 .在Ca1.CUIatOrD1.g.cpp前面加上用于科学计算的头文件:inc1.udestdafx.h/inc1.udeCa1.cu1.atorhinc1.udeCaIcuIatorDIg.h#inc1.udemath.h/科学计算的头文件8 .编译连接运行。(1)编译ViSUa1.C+6.0中选择BUi1.dIRebUiIdA1.1.选项.ViSUa1.C+6.0将在output窗口中显小编
9、译结果。假如没有错误,则在窗口下面显示0error(三).0warning(三)0假如有错误,则OUtPU1.窗口中会告知你WamingS警告有几个,errors错误有几个。通过移动OU1.PUt窗口的垂直滚动条,在output窗口的中会列出警告和编译错误、缘由和详细行号位置。初学者从一起先就要学会如何定位错误。在OUtPUt窗口有一个亮条,指出Warning或errors的信息,它用英文显示,可以查程序中的错误信息表。接回车键或双击鼠标左键,即光标转向编辑窗口,编辑窗口同时出现一个蓝色箭头,这时要留意光标位置,细致查看程序中的语法。相当多的状况是.程序中只有很少的几个语法错误,但是编译时,却
10、告知你查到了许多错误。缘由是,由于这一个小错误,比如变量定义错,使得编译没有接受该变量定义,接着编译下去,凡涉与这一变量引用的,都被编译认为是变量未定义错。所以,初学者肯定要了解这一点,或许某个出错行其实没有语法错误。而是由其他错误所引起。真正的语法错误,一般总是只有很少的几个,不要被编译错误的数量所吓倒C编译若不产生错误,系统将生成。bj文件,细心的读者,查阅自己子书目时会看到。(2)连接在连接之前,请先行存盘。因为个别错误会导致死机。如这时机器重新启动,程序会丢失。Visua1.C+69环境下,选择BUiidIBUiIdA1.1.e连接产生的错误信息形式与编译时相仿,但查错可能更间接一些.连接若不产生错误,系统将生成执行文件exe。(3)运行Visua1.C+6.0中的运行方式:干脆选择Bui1.dexecute或按Crt1.+F5就可在IDE下运行程序。打开写有运行结果的用户窗口,视察运行状况,按随意键,可返回到编辑窗口。大多数状况用这种方式,它又是调试程序的主选方式。三.运行界面四.思索1 .参考WindoWS操作系统自带的计算翳,增加其它计算功能,使这个计算器的功能更完整。2 .增加一个版权信息的按钮,点击后显示开发者的班级、姓名和学号。