任务1——开发一个简单计算器程序-基于对话框

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二. 编程步骤
1. 启动 Visual C++6.0,选择 File | new 菜单项,弹出 New 对话框。单击 Projects 选项卡, 项目类型选择 MFC AppWizard(exe),在 Project name 中填入工程名,在 Location 中填用户子 目录路径(设置用户程序子目录的目的是,将所有编程时产生的中间文件和最终执行程序文 件全部放在自己的目录中,以便管理)。
errors 的信息,它用英文显示,可以查本实验指导书中的错误信息表。 按回车键或双击鼠标左键,即光标转向编辑窗口,编辑窗口同时出现一个蓝色箭头,这
时要注意光标位置,仔细查看程序中的语法。相当多的情况是,程序中只有很少的几个语法 错误,但是编译时,却告诉你查到了很多错误。原因是,由于这一个小错误,比如变量定义 错,使得编译没有接受该变量定义,继续编译下去,凡涉及这一变量引用的,都被编译认为 是变量未定义错。所以,初学者一定要了解这一点,或许某个出错行其实没有语法错误。而 是由其他错误所引起。真正的语法错误,一般总是只有很少的几个,不要被编译错误的数量 所吓倒。
2. 在程序向导的第 1 步选择建立一个基于对话框(Dialog based)的应用程序,点击“Finish” 结束向导。
3. 在对话框上添加各类控件,设计对话框的界面如图所示。在对话框中右键点击,弹出属 性设置对话框(Dialog Properties),标题(caption)中填入“迷你计算器”;其余各控件的参 数设置如下表所示。
void CCalculatorDlg::OnAdd() {
// TODO: Add your control notification handler code here UpdateData(TRUE); //得到用户输入的数据 m_result=m_first+m_second; } void CCalculatorDlg::OnEqual() { // TODO: Add your control notification handler code here UpdateData(FALSE); //将计算结果在编辑框中显示出来 } 其中 UpdateData( )是 MFC 的窗口函数,用来刷新数据。当括号内的变量为 TRUE 时, 用窗体上控件中的内容来更新和控件相关连的成员变量值;当括号内的变量为 FALSE 时, 正好相反,将控件的关联成员变量的值传给控件并在控件中显示出来。 同理,在其它运算按钮的消息影射函数中添加相应的计算代码如下: void CCalculatorDlg::OnCos() { UpdateData(TRUE); //得到用户输入的数据 m_result=cos(3.1415926*m_first/180); }
控件类型 Button Button
ID 号 IDC_ADD IDC_SUB
Caption + -
其它
Button
IDC_MUL
×
Button
IDC_DIV
/
Button
IDC_SIN
sin
Button
IDC_COS
cos
Button
IDC_SQU
x^2
Button
IDC_REC
1/x
Button
IDC_EQUAL
Visual C++ 6.0 中的运行方式:直接选择 Build|execute 或按“Crtl+F5”,就可在 IDE 下 运行程序。打开写有运行结果的用户窗口,观察运行情况,按任意键,可返回到编辑窗口。
大多数情况用这种方式,它又是调试程序的主选方式。
三. 运行界面
四. 思考
1. 参考 Windows 操作系统自带的计算器,增加其它计算功能,使这个计算器的功能更完整。 2. 增加一个版权信息的按钮,点击后显示开发者的班级、姓名和学号。
7. 在 CalculatorDlg.cpp 前面加上用于科学计算的头文件: #include "stdafx.hHale Waihona Puke Baidu #include "Calculator.h" #include "CalculatorDlg.h" #include "math.h" // 科学计算的头文件
8. 编译连接运行。 (1)编译
编译若不产生错误,系统将生成.obj 文件,细心的读者,查阅自己子目录时会看到。 (2)连接
在连接之前,请先行存盘。因为个别错误会导致死机。如这时机器重新启动,程序会丢 失。
Visual C++ 6.0 环境下,选择 Build|Build All。连接产生的错误信息形式与编译时相仿, 但查错可能更间接一些。连接若不产生错误,系统将生成执行文件.exe。 (3)运行
Visual C++ 6.0 中选择 Build|Rebuild All 选项,Visual C++ 6.0 将在 output 窗口中显示 编译结果。
如果没有错误,则在窗口下面显示 0 error(s), 0 warning(s)。 如果有错误,则 output 窗口中会告诉你 Warnings 警告有几个,errors 错误有几个。 通过移动 output 窗口的垂直滚动条,在 output 窗口的中会列出警告和编译错误、原因 和具体行号位置。 初学者从一开始就要学会如何定位错误。在 output 窗口有一个亮条,指出 Warning 或
添加成员变量的步骤为:选中“IDC_FIRST”,点击“Add Viarable”,在弹出的对话框 中,指定成员变量名为“m_first”,分类为“Value”,变量类型为“double”,点击“OK”确
定。其余依此类推。
5. 为运算符按钮添加相应的消息映射函数:点击菜单“View →ClassWizard”,选中“Message Maps”标签,目标 ID 号中选择“IDC_ADD”,在“Messages”中选择“BN_CLICKED”, 双击,弹出“添加成员函数”对话框,默认函数名为“OnAdd”,点击“OK”。同理,为其 它各运算对应的 ID 号添加成员函数。 6. 在加法计算按钮的消息影射函数 OnAdd 和得到计算结果的消息影射函数 OnEqual 中分别 输入下列代码:
void CCalculatorDlg::OnSqu() {
UpdateData(TRUE); //得到用户输入的数据 m_result=pow(m_first,2); }
void CCalculatorDlg::OnSub() {
UpdateData(TRUE); //得到用户输入的数据 m_result=m_first-m_second; }
void CCalculatorDlg::OnDiv() {
UpdateData(TRUE); //得到用户输入的数据 m_result=m_first/m_second;
} void CCalculatorDlg::OnMul() {
UpdateData(TRUE); //得到用户输入的数据 m_result=m_first*m_second; } void CCalculatorDlg::OnRec() { UpdateData(TRUE); //得到用户输入的数据 m_result=1/m_first; } void CCalculatorDlg::OnSin() { UpdateData(TRUE); //得到用户输入的数据 m_result=sin(3.1415926*m_first/180); }
=
Edit Box IDC_FIRST
Edit Box IDC_SECOND
Edit Box IDC_RESULT 4. 为对话框中的控件添加相应的成员变量:点击菜单“View →ClassWizard”,点击“Member Variables”标签项,为对话框中的三个编辑框控件添加对应的成员变量如图所示。
开发一个简单科学计算器 (基于对话框模式的应用程序)
一. 开发目标及软件功能
开发一个科学计算器程序,要求采用基于对话框模式的应用程序,至少具有加、减、乘、 除四个基本功能,并在此基础上扩展平方、开方、三角函数等功能。
(1)仔细阅读操作过程,学习如何根据编译信息,定位语法错误。 (2)将警告与错误一律看作是错误。 (3)学习并模仿书上的程序书写风格。
相关文档
最新文档