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

📄 lexclass.h

📁 表达式的计算程序
💻 H
字号:
//////////////////////////////////////////////////////////////////////
//
// By Liutao 
// Xi'an JiaoTong University, 2000.11
//
// LexClass.h: interface for the LexClass class.
//
//////////////////////////////////////////////////////////////////////
#include <afxtempl.h>

#if !defined(AFX_LEXCLASS_H__20BBA6B9_8618_4F70_AC2C_BDACFEB296E8__INCLUDED_)
#define AFX_LEXCLASS_H__20BBA6B9_8618_4F70_AC2C_BDACFEB296E8__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

struct _element
{
	union _u
	{
		double num;
		char op;
	}u;
	int flag, p, p1;
};

class Lex  
{
public:
	CString GetString();
	BOOL IsWrong();
	double GetResult();
	void GetFormula(CString str);
	Lex();
	virtual ~Lex();
protected:
	BOOL IsOp();
	BOOL pGreat();
	void Cal();
	void Push();
	int GetP();
	enum {NUM, OP, RAW=100, NOTRAW};
	int GetNextElement();
	_element element;
	CList<_element, _element> opStack, numStack;
	CString formula;
	CString result_str;
private:
	BOOL WithWrong;
	CString pStr;
	long i;
};

#endif // !defined(AFX_LEXCLASS_H__20BBA6B9_8618_4F70_AC2C_BDACFEB296E8__INCLUDED_)

⌨️ 快捷键说明

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