📄 expression.cpp
字号:
// Expression.cpp: implementation of the CExpression class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "RepComb.h"
#include "Expression.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CCalculator CExpression::m_Calculator;
CExpression::CExpression(char cOperator)
{
m_bOperator=true;
m_cOperator=cOperator;
m_dblValue=0;
m_strExpression.Format("%c",cOperator);
m_strExpression.TrimLeft();
m_strExpression.TrimRight();
}
CExpression::CExpression(double dblOperand)
{
m_bOperator=false;
m_cOperator='\0';
m_dblValue=dblOperand;
m_strExpression.Format("%.0f",dblOperand);
m_strExpression.TrimLeft();
m_strExpression.TrimRight();
}
CExpression::~CExpression()
{
}
double CExpression::Calculate(CExpression op, CExpression operand)
{
if(m_bOperator!=false&&op.m_bOperator!=true&&
operand.m_bOperator!=false)
return 0;
if(CExpression::m_Calculator.compareL(m_cOperator,op.m_cOperator)==1)
AddBracket();
if(CExpression::m_Calculator.compareR(operand.m_cOperator,op.m_cOperator)==1)
operand.AddBracket();
m_dblValue=m_Calculator.compute(m_dblValue,op.m_cOperator,
operand.m_dblValue);
m_cOperator=op.m_cOperator;
m_strExpression=m_strExpression+op.m_strExpression+
operand.m_strExpression;
return m_dblValue;
}
void CExpression::AddBracket()
{
m_strExpression="("+m_strExpression+")";
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -