欢迎来到天天文库
浏览记录
ID:53880500
大小:190.00 KB
页数:5页
时间:2020-04-10
《开发一个简单计算器程序-基于对话框.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、开发一个简单科学计算器(基于对话框模式的应用程序)一.开发目标及软件功能开发一个科学计算器程序,要求采用基于对话框模式的应用程序,至少具有加、减、乘、除四个基本功能,并在此基础上扩展平方、开方、三角函数等功能。(1)仔细阅读操作过程,学习如何根据编译信息,定位语法错误。(2)将警告与错误一律看作是错误。(3)学习并模仿书上的程序书写风格。二.编程步骤1.启动VisualC++6.0,选择File
2、new菜单项,弹出New对话框。单击Projects选项卡,项目类型选择MFCAppWizard(exe),在Projectname
3、中填入工程名,在Location中填用户子目录路径(设置用户程序子目录的目的是,将所有编程时产生的中间文件和最终执行程序文件全部放在自己的目录中,以便管理)。2.在程序向导的第1步选择建立一个基于对话框(Dialogbased)的应用程序,点击“Finish”结束向导。3.在对话框上添加各类控件,设计对话框的界面如图所示。在对话框中右键点击,弹出属性设置对话框(DialogProperties),标题(caption)中填入“迷你计算器”;其余各控件的参数设置如下表所示。控件类型ID号Caption其它ButtonIDC_AD
4、D+ButtonIDC_SUB-ButtonIDC_MUL×ButtonIDC_DIV/ButtonIDC_SINsinButtonIDC_COScosButtonIDC_SQUx^2ButtonIDC_REC1/xButtonIDC_EQUAL=EditBoxIDC_FIRSTEditBoxIDC_SECONDEditBoxIDC_RESULT4.为对话框中的控件添加相应的成员变量:点击菜单“View→ClassWizard”,点击“MemberVariables”标签项,为对话框中的三个编辑框控件添加对应的成员变量如图所示
5、。添加成员变量的步骤为:选中“IDC_FIRST”,点击“AddViarable”,在弹出的对话框中,指定成员变量名为“m_first”,分类为“Value”,变量类型为“double”,点击“OK”确定。其余依此类推。5.为运算符按钮添加相应的消息映射函数:点击菜单“View→ClassWizard”,选中“MessageMaps”标签,目标ID号中选择“IDC_ADD”,在“Messages”中选择“BN_CLICKED”,双击,弹出“添加成员函数”对话框,默认函数名为“OnAdd”,点击“OK”。同理,为其它各运算对应的
6、ID号添加成员函数。6.在加法计算按钮的消息影射函数OnAdd和得到计算结果的消息影射函数OnEqual中分别输入下列代码:voidCCalculatorDlg::OnAdd(){//TODO:AddyourcontrolnotificationhandlercodehereUpdateData(TRUE);//得到用户输入的数据m_result=m_first+m_second;}voidCCalculatorDlg::OnEqual(){//TODO:Addyourcontrolnotificationhandlercod
7、ehereUpdateData(FALSE);//将计算结果在编辑框中显示出来}其中UpdateData()是MFC的窗口函数,用来刷新数据。当括号内的变量为TRUE时,用窗体上控件中的内容来更新和控件相关联的成员变量值;当括号内的变量为FALSE时,正好相反,将控件的关联成员变量的值传给控件并在控件中显示出来。同理,在其它运算按钮的消息影射函数中添加相应的计算代码如下:voidCCalculatorDlg::OnCos(){UpdateData(TRUE);//得到用户输入的数据m_result=cos(3.1415926*
8、m_first/180);}voidCCalculatorDlg::OnDiv(){UpdateData(TRUE);//得到用户输入的数据m_result=m_first/m_second;}voidCCalculatorDlg::OnMul(){UpdateData(TRUE);//得到用户输入的数据m_result=m_first*m_second;}voidCCalculatorDlg::OnRec(){UpdateData(TRUE);//得到用户输入的数据m_result=1/m_first;}voidCCalcu
9、latorDlg::OnSin(){UpdateData(TRUE);//得到用户输入的数据m_result=sin(3.1415926*m_first/180);}voidCCalculatorDlg::OnSqu(){UpdateData(TRUE);//得到用户输入的数
此文档下载收益归作者所有