• 大小: 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个文件信息

评论

共有 条评论

相关资源