⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mathstack.h

📁 VC下最牛的算数表达式
💻 H
字号:
#pragma once

#include <vector>
using namespace std;

extern char* pFunctions[];

bool IsNumeric(LPCSTR lpcs);
CString TrimFloat(double f);
void OptimizeSign(CString& str);
void Optimize(CString& str);
void InsertTabs(CString& str);
char *GetClose(char *p);
int GetFunction(LPCSTR pOpen);
int GetOperator(IN LPCSTR lpcs, IN LPCSTR lpcsOperators[]);

struct ExpressionItem
{
	ExpressionItem(LPCSTR lpcsInput)
	{
		m_strInput = lpcsInput;
		m_cOperator = 0;
		m_nFunction = -1;
		m_nOutput = 0;
		m_nSign = 1;
	}
	CString GetInput()
	{
		if(IsNumeric(m_strInput) == false && m_strInput.FindOneOf("+-/*^") != -1)
			return '('+m_strInput+')';
		return m_strInput;
	}
	char m_cOperator;
	CString m_strInput;
	CString m_strOutput;
	double m_nOutput;
	CString m_strStack;
	int m_nFunction;
	int m_nSign;
	void GetDifferentiation();
	// return error number, 0 on success
	int GetCalculation(bool bValue = false);
};

int FillStack(LPCSTR lpcsInput, vector<ExpressionItem*>& vStack);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -