【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《开发一个简单计算器程序》,欢迎阅读!
开发一个简单科学计算器 (基于对话框模式的应用程序)
一. 开发目标及软件功能
开发一个科学计算器程序,要求采用基于对话框模式的应用程序,至少具有加、减、乘、 除四个基本功能,并在此基础上扩展平方、开方、三角函数等功能。
(1) 仔细阅读操作过程,学习如何根据编译信息,定位语法错误。 (2) 将瞥告与错误一律看作是错误。 (3) 学习并模仿书上的程序书写风格。
二. 编程步骤
1. 启动Visual C++6.0>选择File | new菜单项,弹出NHV对话框。单击Projects选项卡, 项目类型选择MFC AppWizaid(exe),在Project name中填入工程名,在Location中填用户子 目录路径(设置用户程序子目录的目的是,将所有编程时产生的中间文件和最终执行程序文 件全部放在自己的目录中,以便管理)。
2. 在程序向导的第1步选择建立一个基于对话框(Dialog based)的应用程序,点击“Finish” 结束向导。
3. 在对话框上添加各类控件,设计对话框的界面如图所示。在对话框中右键点击,弹出属 性设置对话框(DialogProperties),标题(caption)中填入“迷你计算器”;其余各控件的参 数设置如下表所示。
控件类型 Button Button Button Button Button Button Button Button Button Edit Box Edit Box Edit Box
ID J
IDC ADD IDC SUE IDC MUL IDC DIV IDC SIN IDC COS IDC SQU IDC REC IDC EQUAL
Caption + — X / sill cos
其它
xA2 1/x =
IDC FIRST
IDC SECOND IDC RESULT
4.为对话框中的控件添加相应的成员变量:点击菜单“Vhw -^ClassWizardv,点击Member Variables"标签项,为对话框中的三个编辑框控件添加对应的成员变量如图所示。
添加成员变量的步骤为:选中'TDC_FIRSTS点击"Add Viarable",在弹出的对话框 中,指定成员变量名为“m.first",分类为"Valued变量类型为"doubled点击“OK”确
定。其余依此类推。
5. 为运算符按钮添加相应的消息映射函数:点击菜单“View — ClassWizaid”,选中**Message Maps” 标签,目标 ID 号中选择 “IDC—ADD”,在 “Messages” 中选择 “EN_CLICKED”, 双击,弹出“添加成员函数”对话框,默认函数名为“OnAdd”,点击“OK”。同理,为其 它各运算对应的ED号添加成员函数。
6. 在加法计算按钮的消息影射函数OnAdd和得到计算结果的消息影射函数OiiEqual中分别 输入下列代码:
void CCalculatoiDlg::OnAdd(J {
〃 TODO: Add youi contiol notification handler code here UpdateData(TRUE);
〃得到用户输入的数据
m result=m fiist+m second; }
void CCalculatorDlg::OnEqual() {
// TODO: Add youi control notification handler code here UpdateData(FALSE); //将计算结果在编辑框中显示出来 }
其中UpdateData()是MFC的窗II函数,用来刷新数据。当扌舌号内的变量为TRUE时, 用窗体上控件中的内容来更新和控件相关联的成员变量值;当括号内的变量为FALSE时, 正好相反,将控件的关联成员变量的值传给控件并在控件中显示出来。
同理,在其它运算按钮的消息影射函数中添加相应的计算代码如下: void CCalculatoiDlg::OnCosQ {
UpdateData(TRUE); //得到用户输入的数据 m_result=cos(3.1415926*m_first/180); }
void CCalculatorDlg::OnDivQ {
UpdateData(TRUE); //得到用户输入的数据 m iesult=m fiist/m second; }
void CCalculatorDlg::OnMulQ
UpdateData(TRUE); 〃得到用户输入的数据 m iesult=m second; }
void CCalculatorDlg::OnRecQ {
UpdateData(TRUE); //得到用户输入的数据 m iesult=l/m fiist; }
void CCalculatorDlg::OnSin() {
UpdateData(TRUE); //得到用户输入的数据 m-result=sui(3.1415926*m_first/180); }
void CCalculatorDlg::OnSquQ {
UpdateData(TRUE); //得到用户输入的数据 m-result=pow(m_fiist,2); }
void CCalculatorDlg::OnSubQ {
UpdateData(TRUE); //得到用户输入的数据 m iesult=m fiist-m second; }
7. 在CalculatorDlg.cpp前面加上用于科学计算的头文件:
存include "stdafx.h" 存include "Calculator.h" 存include "CalculatoiDlg.h"
include "niath.h" //科学计算的头文件
8. 编译连接运行。 (1) 编译
Visual C++ 6.0 中选择 Build|Rebuild All 选项,Visual C++ 6.0 将在 output 窗 I I 中显示 编译结果。
如果没有错误,则在窗口下面显示0 error(s), 0 warning⑸。
如果有错误,则output窗I I中会告诉你Wanungs警告有几个,errors错误有几个。 通过移动output窗II的垂直滚动条,在output窗I I的中会列岀警告和编译错误、原因 和具体行号位置。
初学者从一开始就要学会如何定位错误。在output窗I I有一个亮条,指出Warning或 errors的信息,它用英文显示,可以查程序中的错误信息表。
按回车键或双击鼠标左键,即光标转向编辑窗II,编辑窗I I同时出现一个蓝色箭头,这 时要注意光标位置,仔细查看程序中的语法。相当多的情况是,程序中只有很少的几个语法 错误,但是编译时,却告诉你查到了很多错误。原因是,由于这一个小错误,比如变量定义 错,使得编译没有接受该变量定义,继续编译下去,凡涉及这一变量引用的,都被编译认为 是变量未定义错。所以,初学者一定要了解这一点,或许某个出错行其实没有语法错误。而 是由其他错误所引起。
真正的语法错误,一般总是只有很少的几个,不要被编译错误的数量 所吓倒。
编译若不产生错误,系统将生成.obj文件,细心的读者,查阅自己子目录时会看到。 (2) 连接
在连接之前,请先行存盘。因为个别错误会导致死机。如这时机器重新启动,程序会丢 失。
Visual C卄6.0环境下,选择Bmld|BuildAUo连接产生的错误信息形式与编译时相仿, 但查错可能更间接一些。连接若不产生错误,系统将生成执行文件.exe。 (3) 运行
Visual C++ 6.0中的运行方式:直接选择Build|execute或按“Crtl+F5”,就可在IDE下 运行程序。打开写有运行结果的用户窗I丨,观察运行情况,按任意键,可返回到编辑窗II。
大多数情况用这种方式,它又是调试程序的主选方式。
三. 运行界面
四. 思考
1. 参考Windows操作系统自带的计算器,增加其它计算功能,使这个计算器的功能更完整。 2. 增加一个版权信息的按钮,点击后显示开发者的班级、姓名和学号。
本文来源:https://www.wddqxz.cn/bbd55d48c9aedd3383c4bb4cf7ec4afe04a1b12f.html