简单计算器可视化程序编程Word文档下载推荐.docx

上传人:b****3 文档编号:15971272 上传时间:2022-11-17 格式:DOCX 页数:34 大小:77.55KB
下载 相关 举报
简单计算器可视化程序编程Word文档下载推荐.docx_第1页
第1页 / 共34页
简单计算器可视化程序编程Word文档下载推荐.docx_第2页
第2页 / 共34页
简单计算器可视化程序编程Word文档下载推荐.docx_第3页
第3页 / 共34页
简单计算器可视化程序编程Word文档下载推荐.docx_第4页
第4页 / 共34页
简单计算器可视化程序编程Word文档下载推荐.docx_第5页
第5页 / 共34页
点击查看更多>>
下载资源
资源描述

简单计算器可视化程序编程Word文档下载推荐.docx

《简单计算器可视化程序编程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《简单计算器可视化程序编程Word文档下载推荐.docx(34页珍藏版)》请在冰豆网上搜索。

简单计算器可视化程序编程Word文档下载推荐.docx

按照上面的操作过程编辑其他按钮和编辑框等对象的属性。

表1各按钮和编辑框等对象的属性

对象

ID

标题或说明

编辑框

IDC_DC_EDIT_INPUT

结果显示

按钮

IDC_BUTTON1

1

IDC_BUTTON2

2

IDC_BUTTON3

3

IDC_BUTTON4

4

IDC_BUTTON5

5

IDC_BUTTON6

6

IDC_BUTTON7

7

IDC_BUTTON8

8

IDC_BUTTON9

9

IDC_BUTTON10

IDC_BUTTON11

.

IDC_BUTTON12

空格

IDC_BUTTON23

-

IDC_BUTTON26

*

IDC_BUTTON27

/

IDC_BUTTON38

sqrt

IDC_BUTTON30

%

IDC_BUTTON25

^

IDC_BUTTON31

sin

IDC_BUTTON32

cos

IDC_BUTTON33

tan

IDC_BUTTON34

cot

IDC_BUTTON40

sin~1

IDC_BUTTON41

cos~1

IDC_BUTTON35

log

IDC_BUTTON36

ln

IDC_BUTTON14

a

IDC_BUTTON15

b

IDC_BUTTON16

c

IDC_BUTTON17

d

IDC_BUTTON18

e

IDC_BUTTON19

f

IDC_BUTTON13

退格

IDC_BUTTON37

e^

IDC_BUTTON22

清空

IDOK

计算

IDC_RADIO_DEGREE

角度

IDC_RADIO_RADIAN

弧度

IDC_STATIC

计算结果

IDC_BTN_HISTREXP

历史表达式

IDCANCEL

退出

IDC_BTN_CONVERT

进制

完成后界面如图8所示。

图8计算器界面

五、计算器源程序代码

//Calculation.cpp:

implementationoftheCCalculationclass.

//////////////////////////////////////////////////////////////////////

#include"

stdafx.h"

Calculator.h"

Calculation.h"

math.h"

#ifdef_DEBUG

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#definenewDEBUG_NEW

#endif

#defineFUNCNUM15//函数个数

#defineCONSTNUM11//常数个数

#definePI3.14159

//Construction/Destruction

CCalculation:

:

CCalculation()

{

//初始化函数和常数

m_bDegree=0;

m_nOutputFlag=0;

opt[0]="

e^"

;

opt[1]="

ch"

opt[2]="

sqr"

opt[3]="

sh"

opt[4]="

log"

opt[5]="

cos"

opt[6]="

sin"

opt[7]="

tan"

opt[8]="

ln"

opt[9]="

abs"

opt[10]="

at"

opt[11]="

as"

opt[12]="

ac"

opt[13]="

th"

opt[14]="

cot"

opt2[0]='

^'

opt2[1]='

/'

opt2[2]='

*'

opt2[3]='

%'

opt2[4]='

+'

opt2[5]='

-'

m_strConValue[1]="

9.80665"

m_strConName[1]="

GG"

m_strConValue[2]="

(8.988*10^9)"

m_strConName[2]="

EF"

m_strConValue[3]="

0.02241383"

m_strConName[3]="

VM"

m_strConValue[4]="

(1.380662*10^(-23))"

m_strConName[4]="

BC"

m_strConValue[5]="

8.3144"

m_strConName[5]="

MG"

m_strConValue[6]="

(6.6720*10^(-11))"

m_strConName[6]="

GR"

m_strConValue[7]="

(6.022045*10^23)"

m_strConName[7]="

NA"

}

~CCalculation()

boolCCalculation:

IsDigital(CStringstr)

while(str.GetAt(0)=='

)str.Delete(0);

for(inti=0;

i<

FUNCNUM;

i++)if(str.Find(opt[i])!

=-1)return0;

for(i=0;

6;

i++)if(str.Find(opt2[i])!

return1;

CStringCCalculation:

NtoS(doubled)

intdecimal,sign;

char*buffer;

buffer=_ecvt(d,16,&

decimal,&

sign);

CStringstr=buffer;

if(decimal>

=0&

&

decimal<

=16)str.Insert(decimal,"

."

);

elseif(decimal>

16)

{

for(inti=str.GetLength();

decimal;

i++)str+="

0"

str+="

.0"

}

else

for(inti=0;

-decimal;

i++)str.Insert(0,"

str.Insert(0,"

if(sign==1)str.Insert(0,"

-"

returnstr;

doubleCCalculation:

StoN(CStringstr)

char*stopstring;

doublex;

x=strtod(str.GetBuffer(0),&

stopstring);

m_strTmp=stopstring;

returnx;

TwoE(CStringstrExp)

doublex2,y,x1=StoN(strExp);

strExp=m_strTmp;

charop=strExp.GetAt(0);

strExp.Delete(0);

x2=StoN(strExp);

if(m_strTmp!

="

"

)return"

ERROR_"

+m_strTmp+"

未知符号_"

if(op=='

){y=x1+x2;

elseif(op=='

){y=x1*x2;

){y=x1-x2;

){y=pow(x1,x2);

){y=x1/x2;

){y=fmod(x1,x2);

elsereturn"

未知运算符_"

returnNtoS(y);

SingleE(CStringop,doubledx)

if(op=="

returnNtoS(log(dx));

elseif(op=="

returnNtoS(log10(dx));

returnNtoS(sqrt(dx));

returnNtoS(exp(dx));

returnNtoS(fabs(dx))

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文化宗教

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1