?? calculate.h
字號:
// Caculate.h: interface for the CCalculate class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CACULATE_H__342E6EEC_AD80_4993_BDAD_53A94C2F6F7A__INCLUDED_)
#define AFX_CACULATE_H__342E6EEC_AD80_4993_BDAD_53A94C2F6F7A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CNode
{
public:
CNode *left,*right;
double data;
char operate;
int prior;
CNode():left(NULL),right(NULL),data(0),operate('@'),prior(-1){}
};
class CCalculate : public CObject
{
DECLARE_SERIAL(CCalculate);
private:
protected:
CString m_strExpression;
int m_nPos;
CNode* m_pRoot;
CString m_strWrongMessage;
// CString m_strStep;
// double m_dResult;
public:
CCalculate();
virtual ~CCalculate();
protected:
BOOL m_bIsValid;
void FreeTree(CNode* nod);
public:
//operations
CNode* AddSub();
CNode* MultiplyDivide();
CNode* Putere();
CNode* Factor();
CNode* Operand();
BOOL IsValid(CString* pMessage=NULL,int* pPos=NULL);
double GetValue(char operate,double oper1,double oper2);
public:
int MakeTree();
CCalculate(const CString& strExpression);
void Serialize(CArchive& ar);
virtual void ResetExp(const CString& strExp);
virtual double GetResult();
virtual double Calculate(CNode* node);
};
#endif // !defined(AFX_CACULATE_H__342E6EEC_AD80_4993_BDAD_53A94C2F6F7A__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -