-
大小: 514KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-05-29
- 语言: C/C++
- 标签:
资源简介
基于MFC的计算器(功能非常齐全:进制转换、计算表达式等)
代码片段和文件信息
// Calculation.cpp: implementation of the CCalculation class.
// Made by Gamsn in 10.26.2005
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “Calculator.h“
#include “Calculation.h“
#include “math.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
#define FUNCNUM 15 //函数个数
#define CONSTNUM 11 //常数个数
#define E 2.7182818284590452353
#define PI 3.1415926535897932384
//////////////////////////////////////////////////////////////////////
// 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]=“exp“;
opt2[0]=‘^‘;
opt2[1]=‘/‘;
opt2[2]=‘*‘;
opt2[3]=‘%‘;
opt2[4]=‘+‘;
opt2[5]=‘-‘;
m_strConValue[0]=“3.1415926535897932384“; m_strConName[0]=“PI“;
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“;
m_strConValue[8]=“(2.99792458*10^8)“; m_strConName[8]=“LS“;
m_strConValue[9]=“(8.854187818*10^(-12))“; m_strConName[9]=“DC“;
m_strConValue[10]=“2.7182818284590452353“; m_strConName[10]=“E“;
}
CCalculation::~CCalculation()
{
}
bool CCalculation::IsDigital(CString str)
{
while(str.GetAt(0)==‘-‘) str.Delete(0);
for(int i=0;i for(i=0;i<6;i++) if(str.Find(opt2[i])!=-1) return 0;
return 1;
}
CString CCalculation::NtoS(double d)
{
int decimal sign;
char *buffer;
buffer = _ecvt( d 16 &decimal &sign );
CString str=buffer;
if(decimal>=0 && decimal<=16) str.Insert(decimal“.“);
else if(decimal>16)
{
for(int i=str.GetLength();i str+=“.0“;
}
else
{
for(int i=0;i<-decimal;i++) str.Insert(0“0“);
str.Insert(0“.“);
}
if(sign==1) str.Insert(0“-“);
return str;
}
double CCalculation::StoN(CString str)
{
char *stopstring;
double x;
x = strtod( str.GetBuffer(0) &stopstring );
m_strTmp=stopstring;
return x;
}
CString CCalculation::TwoE(CString strExp)
{
double x2yx1=StoN(strExp);
strExp=m_strTmp;
char op=strExp.GetAt(0);
strExp.Delete(0);
x2=StoN(strExp);
if(m_strTmp!=““) return “ERROR_“+m_strTmp+“未知符号_“;
if(op==‘+‘) {y=x1+x2;}
else if(op==‘*‘) {y=x1*x2;}
else if(op==‘-‘) {y=x1-x2;}
else if(op==‘^‘) {y=pow(x1x2);}
else if(op==‘/‘) {y=x1/x2;}
else i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 18361 2005-12-19 13:47 计算器\Calculator100\Calculation.cpp
文件 1897 2005-12-17 17:30 计算器\Calculator100\Calculation.h
文件 2119 2005-10-25 22:07 计算器\Calculator100\Calculator.cpp
文件 3830 2005-11-19 16:29 计算器\Calculator100\Calculator.dsp
文件 545 2005-10-25 22:07 计算器\Calculator100\Calculator.dsw
文件 1359 2005-10-25 22:07 计算器\Calculator100\Calculator.h
文件 148480 2009-04-14 18:08 计算器\Calculator100\Calculator.ncb
文件 53760 2009-04-14 18:08 计算器\Calculator100\Calculator.opt
文件 2803 2009-04-14 18:07 计算器\Calculator100\Calculator.plg
文件 10770 2005-12-17 17:45 计算器\Calculator100\Calculator.rc
文件 9867 2005-11-19 16:29 计算器\Calculator100\CalculatorDlg.cpp
文件 2575 2005-11-19 16:25 计算器\Calculator100\CalculatorDlg.h
文件 4164 2005-10-27 17:34 计算器\Calculator100\CFUNC.cpp
文件 1868 2005-10-28 15:46 计算器\Calculator100\CFUNC.h
文件 5373 2005-10-28 15:59 计算器\Calculator100\CNUM.cpp
文件 1997 2005-10-28 15:49 计算器\Calculator100\CNUM.h
文件 2590 2005-10-28 15:57 计算器\Calculator100\COP.cpp
文件 1564 2005-10-28 15:46 计算器\Calculator100\COP.h
文件 7802 2003-03-20 22:30 计算器\Calculator100\MFECToolTip.cpp
文件 1707 2003-03-20 22:30 计算器\Calculator100\MFECToolTip.h
文件 3648 2005-10-25 22:07 计算器\Calculator100\ReadMe.txt
文件 65623 2009-04-14 18:07 计算器\Calculator100\Release\Calculator.exe
目录 0 2009-04-14 18:09 计算器\Calculator100\Release
文件 246 2005-11-19 15:43 计算器\Calculator100\res\bitmap_c.bmp
文件 1078 2005-10-28 15:13 计算器\Calculator100\res\Calculator.ico
文件 402 2005-10-25 22:07 计算器\Calculator100\res\Calculator.rc2
文件 691 2005-10-25 22:07 计算器\Calculator100\res\default1.bin
目录 0 2008-09-07 19:22 计算器\Calculator100\res
文件 4101 2005-11-19 16:25 计算器\Calculator100\Resource.h
文件 212 2005-10-25 22:07 计算器\Calculator100\StdAfx.cpp
............此处省略39个文件信息
评论
共有 条评论