任务1——开发一个简单计算器程序-基于对话框
利用对话框实现简单的计算的实验演示

利用对话框实现简单的计算的实验演示一、创建工程1、按照下图的设置来新建一个新的工程,工程名(Project Name)为“Demo”。
2、选择创建的应用程序类型为“Dialog based”(基于对话框的)然后按照缺省的方式进行设置,直到生成源程序(如下图所示)。
注意其中CDemoDlg中的成员变量,同后面相比较。
二、添加对话框控件1、按照下图,拖放三个静态控件、编辑控件和按钮控件到对话框中2、修改静态控件属性选中一个控件,单击鼠标右键,可以弹出一个右键菜单,选择其中的“Propertis”,可以弹出相应的控件的属性设置对话框。
例如选中第一个静态控件,属性修改的对话框如下图所示:修改其Caption为A。
同样的方法,修改另外两个静态控件的Caption分别为“B”、“Result”。
3、修改编辑控件的属性选中一个静态控件,点击右键,选择属性菜单,可以弹出编辑控件的设置对话框,如下图:修改他的ID为IDC_EDIT_A。
用同样的方法设置另外两个编辑控件的ID分别为“IDC_EDIT_B”和“IDC_EDIT_RESULT”。
4、修改按钮控件的属性选中一个按钮控件,点击右键,选择属性菜单,可以弹出按钮控件的设置对话框,如下图:修改他的ID为IDC_BTN_SUM,Caption为+用同样的方法设置另外两个按钮控件的ID分别为“IDC_BTN_MUL”和“IDC_BTN_MIN”;Caption 分别为“*”和“-”最后对话框显示为:三、添加对话框变量选中对话框,单击右键,探出右键菜单,选择其中的“ClassWizard…”弹出“MFC ClassWizard”窗口,选择上部的“Member Variables”,得到如下对话框:选择“IDC_EDIT_A”,点击“Add Variables”按钮,弹出“Add Member Variables”对话框。
按照上图所示,填写成员变量名为“m_nA”,选择Category为“Value”,Variable type为“int”,然后点击“OK”按钮。
基于对话框的程序设计——计算器编程PPT课件

CRect StandardRc;
//StandardRc表示标准型的范围
Operator m_operator;
//运算符标志
Func m_func;
//函数标志
CalcError m_errorState; //错误标志
BOOL m_bOperandAvail; //输入标志,输入为真
void ExpandToSentific(); //扩展成科学性计算器
i-=1;
}
}
UpdateData(FALSE);
}
.
7
4.在头文件Ccalc.h中添加消息响应代码:afx_msg
void OnOperandInput(UINT nID);
• 在实现文件Ccalc.cpp中添 加如下代码:
• ON_COMMAND_RANGE(ID C_0,IDC_9,OnOperandInput )
else m_accum /= m_operand; OpAdd) m_accum += m_operand;
else if(m_operator ==
else if(m_operator == OpSubtract) m_accum -= m_operand;
else if(m_operator == OpCm) m_accum=pow(m_accum,m_operand);
比如本程序中在定义枚举类型后在四则运算等号小数点开方去反倒数清零按钮的消息映射函数使用了定义的枚举类型中的常数在指数科学计数余弦函数正弦函数自然对数底数为10的对数正切函数阶乘的函数实现中也用到了枚举类型定义的变量的值而相关变量也只能使用所定义的常数
基于对话框的程序设计
——计算器编程
基于对话框的程序设计案例(计算器)

JZ_P 8
三、设计步骤-3
3.
菜单编辑窗口
鼠标右键 添加菜单资源
编辑菜单资源
在资源视图中添加新 菜单(ID_MENU) 在菜单编辑窗口,编 辑菜单项(扩展, ID_Extend)(如 右图)。 控件资源设计清单如 附表1。 利用控件工具箱,在 对话框编辑窗口设计 控件,并修改控件的 相关属性(属性窗口)
附加图
图1:添加类
图2:MFC类向导
JZ_P 11
三、设计步骤-4
4.
鼠标双击此处: AdvButton.h
编辑高级按钮控件类
新类CAdvButton的头 文件AdvButton.h中预 定义的几种颜色如右图。
需 要 添 加 的 代 码
//预定义高级按钮控件的颜色 #define DisableColor RGB(128,128,128)//灰色,按钮不可用 #define FocusColor RGB(255,0,0)//红色,按钮焦点 #define SelectColor RGB(0,255,0)//绿色,按钮被按下 #define DefaultColor RGB(0,0,255)//兰色,默认 #define MAXCAPTIONLEN 8//最大的按钮显示的字符数目
添加消息映射函数,如下表
消息码
WM_PAINT
函数名
OnPain()
功能 响应窗口重绘的消息
代码 附录9
附录9
JZ_P 18
三、设计步骤-6
6.
为主对话框类 功能
CCalculatorDlg设置界面
添加成员变量,如下: (方法同 上)
public: // 对话框菜单按钮 CMenu *m_Menu; //"扩展"菜单项标志位 bool m_IsExtend;
编写一个简单的计算器程序

编写一个简单的计算器程序计算器程序是一种非常实用的工具,它可以帮助我们进行数学计算,并简化复杂的运算过程。
本文将介绍如何编写一个简单的计算器程序,实现基本的加减乘除运算。
首先,我们需要确定计算器程序的功能和界面设计。
在本文中,我们将使用Python编程语言来编写计算器程序,并使用命令行界面(CLI)进行交互。
这意味着我们将在终端窗口中输入表达式,并显示结果。
接下来,我们需要考虑计算器程序的基本运算功能。
一个简单的计算器需要实现四个基本的运算:加法、减法、乘法和除法。
我们将使用函数来实现每个运算功能。
以下是一个示例代码:```pythondef add(x, y):return x + ydef subtract(x, y):return x - ydef multiply(x, y):return x * ydef divide(x, y):return x / y```在这个示例代码中,我们定义了四个函数,每个函数接受两个参数,并返回计算结果。
接下来,我们需要处理输入表达式并调用相应的运算函数。
我们将使用一个循环来持续接收用户输入,并在用户输入“exit”时退出程序。
以下是一个示例代码:```pythonwhile True:expression = input("请输入一个表达式:")if expression == "exit":break#解析表达式,提取运算符和操作数operator = Nonefor op in ["+", "-", "*", "/"]:if op in expression:operator = opbreakif not operator:print("表达式错误,请重新输入!") continueoperands = expression.split(operator) x = float(operands[0])y = float(operands[1])if operator == "+":result = add(x, y)elif operator == "-":result = subtract(x, y)elif operator == "*":result = multiply(x, y)elif operator == "/":result = divide(x, y)print("运算结果:", result)print("谢谢使用,再见!")```在这个示例代码中,我们使用了一个无限循环来持续接收用户输入。
创建简单计算器程序

实验一创建简单计算器程序实验目标本试验介绍如何创建一个简单的计算器应用程序。
技术要点创建windows窗体应用程序的基本步骤。
实验步骤1.首先,运行visual studio2005,新建一个Windows应用程序命名为calculate2.向窗体中添加【Button】按钮控件,数字0-9,并设置控件的ForeColor 属性为Blue.布局如下:3. 向窗体添加【Button】按钮控件,运行符“+”“-”“*”“/”“.”“-/+”“C”“=”。
并设置控件的ForeColor属性为Red。
4.向窗体添加【TextBox】空间用于显示数据,并将其TextAlign属性设置为“Right”。
5.在Form1类中对下列数据进行定义和初始化:6. 在类中增加如下方法:7. 双击【Button】空间0-9,分别在每个按钮的Click事件处理程序中添加如下代码:setText("0");setText("1");setText("2");setText("3");setText("4");setText("5");setText("6");setText("7");setText("8");setText("9");8.双击“+”号按钮,添加如下事件处理代码:setOperator(1);9.双击“-”号按钮,添加如下事件处理代码:setOperator(2);10.双击“*”号按钮,添加如下事件处理代码:setOperator(3);11.双击“/”号按钮,添加如下事件处理代码:setOperator(4);12.双击“=”号按钮,添加如下事件处理代码:doEquals();13.双击“.”号按钮,添加如下事件处理代码:setDecimal();14.双击“C”号按钮,添加如下事件处理代码:isSecond = false;setText("clear");15.程序运行结果如图:实验二使用菜单实验目标本实验介绍如何在应用程序中加入菜单,并通过菜单响应用户的请求技术要点创建窗体应用程序菜单的简单步骤,时间响应方法。
MFC入门教程之简易计算器制作

MFC入门之简易计算器制作最近自学MFC,入门的时候走了不少弯路,所以特做此教程,希望能帮助一些人能够快速入门,少走一些弯路。
这个教程就是通过一个简易计算器的制作让大家了解MFC界面编程的基本步骤和几个常用控件的使用方法。
使用软件Visual C++ 6.0.首先,新建一个MFC基于对话框的工程。
点击文件-新建,在工程选项卡里选择MFC AppWizard[exe],给工程命名Jisuan。
点击确定。
在接下来的向导里选择基于对话框,其他选项使用默认即可,之间点击完成。
先给大家介绍一下Visual C++ 6.0的界面。
左边框起来的是文件资源控制区,默认有三个选项卡,分别是ClassView、ResourceView和FileView。
分别用来显示类、资源和文件。
中间这个主要操作区呢,就是我们用来设计界面和编程的窗口了。
现在这个是IDD_JISUAN_DIALOG资源,如图所示。
右边那个是控件工具箱,如果没有显示的话可以右击菜单栏空白区域,把控件前打上对号即可。
然后给大家介绍一下今天需要用到的控件。
如左图所示,今天主要需要用到四个控件。
第一个是静态文本控件,就是可以往对话框上放一些静态的文字。
第二个是编辑框,它是可以往里面输入文字的。
第三个是组合框,它是把用来给对话框分区,使界面更加美观明了。
第四个是按钮控件,是用来点一下产生某个操作的。
上面那个是编辑框,下面这个是按钮控件。
点一下控件,拖到对话框上,即可使用。
下面我们可以这样布局:上面两个编辑框里输入数字,中间四个按钮分别是+ - * /,然后下面编辑框里显示数字。
下面开始给大家介绍第一个最重要的操作,就是属性操作。
我们想让这些控件的显示文字改变,就需要修改它的属性。
选定某个控件,右击,选择属性,即可来改变它们的属性了。
我们挨个控件介绍。
首先是组合框。
组合框的属性,我们看到有一个ID,一个标题。
首先说明一点,每个控件都必须有一个ID值,而且一般每个控件的ID值不能相同。
简单计算器程序操作步骤

简单计算器程序操作步骤一、建立”D\ajsq”文件夹二、用VC6编写“简单计算器程序”1、启动VC6,创建“简单计算器程序”工程。
选择D:\asjq,工程名:jsq,选择基于对话框,下一步,完成。
(介绍:类卡、文件卡、资源卡,代码提示工具卡两个,安装visual assist X)2、设计主界面对话框:IDD_JSQ_DIALOG,删除自生成的控件,添加三个Edit Box文本编辑框控件、一个Button按钮控件。
(1)对EDIT查看属性、增加、关联变量:右击EDIT1,选属性,查看ID号为:IDC_EDIT1。
增加、关联变量,右击EDIT1,建立类向导,选成员变量,选中IDC_EDIT1,单击增加变量,名称:m_a,value:float,单击OK。
右击EDIT2,选属性,查看ID号为:IDC_EDIT2。
增加、关联变量,右击EDIT2,建立类向导,选成员变量,选中IDC_EDIT2,单击增加变量,名称:m_b,value:float,单击OK。
右击EDIT3,选属性,查看ID号为:IDC_EDIT3。
增加、关联变量,右击EDIT3,建立类向导,选成员变量,选中IDC_EDIT3,单击增加变量,名称:m_c,value:float,单击OK。
(2)对BUTTON1修改属性和增加消息映射响应函数:右击BUTTON1,选属性,查看ID号为:IDC_BUTTON1,修改标题为:add;增加消息映射响应函数,右击,建立类向导,选中Message Maps,选中IDC_BUTTON1,选中BN_CLICKED,单击Add Function,名称:OnButton1,单击OK。
单击edit code,编写代码:BUTTON1的OnButton1的代码.txt。
UpdateData(true); //从控件得到值赋给变量,给m_a=5;m_b=8;m_c=0;m_c=m_a+m_b; // m_c=13;UpdateData(false); //从变量值给控件显示,文本框分别显示:5,8,13;三、操作使用所编写的“简单计算器程序”F7,Ctrl+F51。
如何创建一个简单的计算器程序

如何创建一个简单的计算器程序计算器程序是计算机编程中的基本项目之一。
无论是日常的数学运算还是简单的计算任务,计算器程序能够提供方便和效率。
在本文中,我们将探讨如何创建一个简单的计算器程序。
1. 设计界面首先,我们需要设计一个用户界面,使用户能够输入运算表达式并获取计算结果。
一个简单的设计方法是使用文本框和按钮。
文本框用于接收用户输入的表达式,按钮用于触发计算并显示结果。
2. 获取用户输入在程序中,我们需要获取用户在文本框中输入的运算表达式。
为了实现这一点,我们可以使用编程语言提供的输入函数或方法。
例如,Python中的`input()`函数可以用于获取用户输入。
3. 解析表达式一旦获取到用户输入的运算表达式,我们需要解析它以便进行计算。
通常,我们可以使用栈这种数据结构来解析表达式。
栈能够方便地处理运算符的优先级和顺序。
4. 执行计算通过解析表达式,我们可以得到一个数字列表和一个操作符列表。
接下来,我们需要按照运算的顺序执行计算。
对于每个操作符,我们从数字列表中取出相应数量的数字进行计算,并将计算结果放回数字列表。
5. 显示结果计算完成后,我们将结果显示在用户界面中的某个区域中。
可以使用文本框或标签等控件来显示计算结果。
6. 处理错误在设计计算器程序时,我们还需要考虑错误处理。
例如,当用户输入的表达式不符合语法规则或包含除数为零的除法运算时,我们需要给出相应的错误提示。
7. 添加额外功能除了基本的四则运算,我们还可以给计算器程序添加其他功能,如求平方、开方、求正弦等。
这些功能可以根据用户的需求进行扩展。
通过以上步骤,我们可以创建一个简单的计算器程序。
该程序能够接收用户输入的数学表达式,解析并执行计算,并将结果显示在界面中。
这个计算器程序可以帮助用户快速进行基本的数学运算。
当然,如果需要更高级的功能和更复杂的计算,可能需要使用更专业的计算器软件或编程技术。
总结:本文介绍了创建一个简单的计算器程序的基本步骤。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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); }
添加成员变量的步骤为:选中“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 中分别 输入下列代码:
二. 编程步骤
1. 启动 Visual C++6.0,选择 File | new 菜单项,弹出 New 对话框。单击 Projects 选项卡, 项目类型选择 MFC AppWizard(exe),在 Project name 中填入工程名,在 Location 中填用户子 目录路径(设置用户程序子目录的目的是,将所有编程时产生的中间文件和最终执行程序文 件全部放在自己的目录中,以便管理)。
编译若不产生错误,系统将生成.obj 文件,细心的读者,查阅自己子目录时会看到。 (2)连接
在连接之前,请先行存盘。因为个别错误会导致死机。如这时机器重新启动,程序会丢 失。
Visual C++ 6.0 环境下,选择 Build|Build All。连接产生的错误信息形式与编译时相仿, 但查错可能更间接一些。连接若不产生错误,系统将生成执行文件.exe。 (3)运行
开发一个简单科学计算器 (基于对话框模式的应用程序)
一. 开发目标及软件功能
开发一个科学计算器程序,要求采用基于对话框模式的应用程序,至少具有加、减、乘、 除四个基本功能,并在此基础上扩展平方、开方、三角函数等功能。
(1)仔细阅读操作过程,学习如何根据编译信息,定位语法错误。 (2)将警告与错误一律看作是错误。 (3)学习并模仿书上的程序书写风格。
7. 在 CalculatorDlg.cpp 前面加上用于科学计算的头文件: #include "stdafx.h" #include "Calculator.h" #include "CalculatorDlg.h" #include "math.h" // 科学计算的头文件
8. 编译连接运行。 (1)编译
控件类型 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
ButtonIDC_EQ源自ALvoid 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”标签项,为对话框中的三个编辑框控件添加对应的成员变量如图所示。
Visual C++ 6.0 中的运行方式:直接选择 Build|execute 或按“Crtl+F5”,就可在 IDE 下 运行程序。打开写有运行结果的用户窗口,观察运行情况,按任意键,可返回到编辑窗口。
大多数情况用这种方式,它又是调试程序的主选方式。
三. 运行界面
四. 思考
1. 参考 Windows 操作系统自带的计算器,增加其它计算功能,使这个计算器的功能更完整。 2. 增加一个版权信息的按钮,点击后显示开发者的班级、姓名和学号。
errors 的信息,它用英文显示,可以查本实验指导书中的错误信息表。 按回车键或双击鼠标左键,即光标转向编辑窗口,编辑窗口同时出现一个蓝色箭头,这
时要注意光标位置,仔细查看程序中的语法。相当多的情况是,程序中只有很少的几个语法 错误,但是编译时,却告诉你查到了很多错误。原因是,由于这一个小错误,比如变量定义 错,使得编译没有接受该变量定义,继续编译下去,凡涉及这一变量引用的,都被编译认为 是变量未定义错。所以,初学者一定要了解这一点,或许某个出错行其实没有语法错误。而 是由其他错误所引起。真正的语法错误,一般总是只有很少的几个,不要被编译错误的数量 所吓倒。
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 或
void CCalculatorDlg::OnSqu() {
UpdateData(TRUE); //得到用户输入的数据 m_result=pow(m_first,2); }
void CCalculatorDlg::OnSub() {
UpdateData(TRUE); //得到用户输入的数据 m_result=m_first-m_second; }