文件名称:基于MFC的 计算器程序,有标准型和科学型的切换,
文件大小:6.15MB
文件格式:ZIP
更新时间:2014-05-11 09:21:08
Calculator mfc
这是一个计算器的简单程序,练手的喔,有标准型和科学型的切换, 计算器的设计方案 根据计算器运行的基本状态变化,将其分为下面五个状态:如图所示 图中num含义为按下0~9数字中的一个,=为按下=按钮,operator为按下“+,-,×,÷,Mod,exp,x^y”中按钮的一个,这些为双数操作符。s_operator含义为用户按下“sqrt,+/-, 1/x,sin,cos,tan,n!,ln,log为单数操作符。此外还有小数点,在这没有显示。 计算器起始处于CE状态,此时只接受数字输入,当按下一个数字按钮时计算器来到A状态表示输入了第一个操作数,用户在该状态可以继续输入数字或者小数点,还可以进行单数目操作符号改变当前数字。 (1)当A状态中数字输入完成以后,可以接受双操作数按钮的输入来到B状态,表示接受第二个操作数。B接受一个数字按钮之后来到C状态,在C状态下可以继续输入数字或单操作数按钮。类似A状态下的情况。 (2)在C状态时,按下=按钮可以根据A->B状态按下的操作符计算结果显示,来到D状态,表示计算完成。在B状态时也可以直接接受=跳转到D状态,例如输入5×=的情况,这时候显示25,前后两个操作数相同。 (3)在D状态时可以对计算结果进行单数字操作运算。状态不变。在D状态时可继续接受操作符来到B状态,例如输入5×=×=,结果为625.在D状态时如果直接输入,这认为又开始了另一种运算。跳转到A状态。 (4)在A,B,C,D中都可以接受CE按钮的输入回到CE状态,另外,在A,C状态中可以接受BACKSPACE按钮的进行退位操作,并不改变其状态。另外,在A,C状态中一旦对当前数字进行s_operator操作以后,将不能继续接受num按钮,BACKSPACE按钮,小数点按钮。 另外,在这其中用科学型以及标准型这两个复选按钮来实现计算器的扩展。这里主要用到函数Setwindowpos()来实现,通过定义主对话框的CRECT类型的成员变量来获取当前对话框的宽度和高度以及标准型时对话框的宽度和高度,在通过ExpandToSentific()这个函数来实现。
【文件预览】:
CCalculatorNEW
----StdAfx.cpp(213B)
----CCalculator.h(1KB)
----resource.h(2KB)
----CCalculator.rc(7KB)
----CCalculator.plg(567B)
----CCalculator.cpp(2KB)
----CCalculator.aps(38KB)
----CCalculator.opt(54KB)
----Debug()
--------vc60.pdb(356KB)
--------CCalculator.pch(5.32MB)
--------CCalculator.exe(2.05MB)
--------CCalculatorDlg.obj(63KB)
--------CCalculator.ilk(2.4MB)
--------vc60.idb(193KB)
--------CCalculator.pdb(3.92MB)
--------CCalculator.obj(14KB)
--------CCalculator.res(10KB)
--------StdAfx.obj(103KB)
----ReadMe.txt(4KB)
----CCalculatorDlg.cpp(14KB)
----StdAfx.h(1KB)
----CCalculator.dsw(547B)
----CCalculator.dsp(4KB)
----Release()
--------CCalculator.pch(5.55MB)
--------CCalculatorDlg.obj(38KB)
--------vc60.idb(57KB)
--------CCalculator.obj(10KB)
--------SXBtn.obj(13KB)
--------CCalculator.res(4KB)
--------StdAfx.obj(804B)
----res()
--------CCalculator.ico(1KB)
--------CCalculator.rc2(403B)
--------Thumbs.db(4KB)
----CCalculatorDlg.h(3KB)
----CCalculator.clw(3KB)
----CCalculator.ncb(81KB)