亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? calculate.cpp

?? 這是一個用文法實現的計算器
?? CPP
字號:
// Calculate.cpp: implementation of the CCalculate class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "Calculator.h"
#include "Calculate.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CCalculate::CCalculate()
{
  pCur=0;
  for(int i=0;i<100;i++)
	  input[i]=0;
  lookahead=0;
  yylval=0;
  m_strDisplay="";// 顯示串
}

CCalculate::~CCalculate()
{

}
void CCalculate::init()
{
  pCur=0;
  for(int i=0;i<100;i++)
	  input[i]=0;
  lookahead=0;
  yylval=0;
  m_strDisplay="";// 顯示串

}
// 詞法分析器,讀入一個記號
int CCalculate::yylex()
{
	char num[20];
	int temp = 0;
	
	
	// 過濾掉空白
	while ( input[pCur]==' ' )//pCur在OnBnClickedButtonEqa()函數內已經被賦成了0。
	{
		 pCur++;
	}

	// 如果是數字,那么把這個記號的數值計算出來放在 yylval 中
	//這里還是在處理單個字符。也就是說是字符串是一個一個字符讀入的,一個一個分析的。

	while (input[pCur] >= '0' && input[pCur] <= '9'||input[pCur]=='.')
	{  
		num[temp++] = input[pCur++];
	}
	if (temp >0) 
	{
		sscanf(num, "%f", &yylval);//做了類型轉換,把類型由char轉換到int。
		return NUM;//把num返回給lookahead.
	}
	
	// 其他記號的處理
	// 如果讀入的不是數字字符,則判斷是以下的哪個運算符。
	else
		switch (input[pCur++])	// 注意:這里指針往前移了一位
	{
		case '+': return ADD;//把add返回給lookahead.
		case '-':return SUB;
		case '*':return MUL;//把mul返回給lookahead.
		case '/':return DIV;
		case '(':return LBRACE;//把lbrace返回給lookahead.
		case ')':return RBRACE;//把rbrace返回給lookahead.
		case '\0': return END;//把end返回給lookahead.
		default: return OTHER;//把other返回給lookahead.
	}

}
// 匹配函數,若當前記號與參數相同,則讀入下一個記號
void CCalculate::Match(int t)
{
	if (lookahead == t) 
		lookahead = yylex();
	else 
	{
		
	m_strDisplay =" ERROR!!!"; 
		
	}
}

// 處理 E-->GE'
float CCalculate::E()
{
	switch (lookahead)
	{
		case LBRACE:	// FIRST(TE')={(,num}
		case NUM:
			return T()+E_();
		default:
			m_strDisplay =" ERROR!!!"; 
			
	}	
	return 0;	
}
// 處理 E'-->+TE'|e
float CCalculate::E_()
{
	switch (lookahead)
	{
		case ADD:	// E'-->+TE' 的情況, FIRST(E')={+,e}
			Match(ADD); 
			return T() + E_();

		case RBRACE:// E'-->e 的情況,這個時候需要處理 FOLLOW集合, FOLLOW(E')={), $}
		case SUB:
		case DIV:	
		case END:
			return 0;
		default:
			m_strDisplay =" ERROR!!!"; 
			
	}
	return 0;	
}
//處理T->ST'
float CCalculate::T()
{
	switch (lookahead)
	{
		case LBRACE:	
		case NUM:
			return S()-T_();
		default:
			m_strDisplay =" ERROR!!!"; 
			
	}
	return 0;
}
//處理T'->-ST'|e
float CCalculate::T_()
{
	switch (lookahead)
	{
		case SUB:	
			Match(SUB); return S() - T_();

		case RBRACE:
		case ADD:
		case DIV:	
		case END:
			return 0;
		default:
		m_strDisplay =" ERROR!!!"; 
		
	}
	return 0;
}
//處理S->GS'
float CCalculate::S()
{
	switch (lookahead)
	{
		case LBRACE:	
		case NUM:
			return G()/S_();
		default:
			m_strDisplay =" ERROR!!!"; 
			
	}
	return 0;
}
//處理S'->/GS'|e
float CCalculate::S_()
{
	switch (lookahead)
	{
		case DIV:	
			Match(DIV);
			return F() / G_();
		case ADD:	
		case SUB:
		case MUL:
		case RBRACE:
		case END:
			return 1;
		default:
		m_strDisplay =" ERROR!!!"; 
		
	}	
	return 0;
}

// 處理 G-->FG'
float CCalculate::G()
{
	switch (lookahead)
	{
		case LBRACE:	// FIRST(FG')={(,num}
		case NUM:
			return F()*G_();
		default:
			m_strDisplay =" ERROR!!!";
			
	}
	return 0;
}

// 處理 G'-->*FG'|e
float CCalculate::G_()
{
	switch (lookahead)
	{
		case MUL:	// FIRST(*FG')={*}
			Match(MUL);
			return F() * G_();
		case ADD:	// T'-->e 的情況,這個時候需要處理 FOLLOW集合, FOLLOW(T')={+,),$}
		case SUB:
		case DIV:
		case RBRACE:
		case END:
			return 1;
		default:
			m_strDisplay =" ERROR!!!"; 
			
	}	
	return 0;	
}

// 處理 F-->(E)|num
float CCalculate::F()
{
	float temp;

	switch(lookahead)
	{
		case LBRACE:	// FIRST((E))={(}
			Match(LBRACE);
			temp = E();
			Match(RBRACE);
			return temp;
		case NUM:		// FIRST(num) = {num}
			temp = yylval;
			Match(NUM);
			return temp;
		default:
			m_strDisplay =" ERROR!!!"; 	
	}
	return 0;
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
大陆成人av片| 免费看欧美女人艹b| 97成人超碰视| 亚洲丝袜制服诱惑| 色88888久久久久久影院按摩 | 国产精品久久久久9999吃药| 粉嫩久久99精品久久久久久夜| 久久久五月婷婷| 91原创在线视频| 午夜视黄欧洲亚洲| 精品久久久久久久久久久久包黑料 | 欧美激情资源网| av中文一区二区三区| 一区二区欧美精品| 精品国产伦一区二区三区免费| 国产精品正在播放| 亚洲三级小视频| 3d动漫精品啪啪一区二区竹菊| 国产精品亚洲午夜一区二区三区 | 中文无字幕一区二区三区| 99re视频这里只有精品| 天天做天天摸天天爽国产一区| 日韩午夜电影av| 91在线云播放| 久久精品国产一区二区| 国产精品久久三区| 欧美一级免费观看| 成人h动漫精品| 日韩国产高清影视| 国产精品理伦片| 欧美一区二区三区的| 丁香婷婷综合五月| 日韩电影在线一区二区三区| 久久久777精品电影网影网| 欧美午夜电影在线播放| 884aa四虎影成人精品一区| 国产乱码精品一区二区三区av| 一区二区在线免费观看| 欧美tk丨vk视频| 色域天天综合网| 国产电影精品久久禁18| 午夜在线电影亚洲一区| 国产精品乱人伦中文| 日韩一区二区三区免费观看| 色综合 综合色| 国产成人精品影视| 奇米四色…亚洲| 亚洲一区二区欧美| 成人欧美一区二区三区黑人麻豆| 日韩一区二区在线观看视频| 色av一区二区| 91色porny| 成年人网站91| 国产一区美女在线| 欧美日本在线视频| 国产精品免费久久| 337p粉嫩大胆噜噜噜噜噜91av| 色呦呦网站一区| 国产传媒欧美日韩成人| 久久不见久久见免费视频1| 亚洲自拍与偷拍| 一区二区三区不卡视频| 亚洲天堂免费看| 国产精品久久久久久一区二区三区| 日韩欧美的一区| 精品久久人人做人人爰| 日韩欧美国产一区在线观看| 欧美区在线观看| 欧美日韩亚洲高清一区二区| 91免费看`日韩一区二区| 成人av资源下载| 99综合影院在线| 91色在线porny| 色诱视频网站一区| 欧美性色黄大片| 精品污污网站免费看| 欧美色电影在线| 欧美日韩中文字幕精品| 欧美精品色综合| 日韩一区二区免费在线观看| 日韩欧美在线1卡| 精品国产一区二区在线观看| 精品国产伦一区二区三区观看方式| 日韩免费观看2025年上映的电影| 精品国产伦理网| 欧美激情在线免费观看| 国产精品视频一二三区| 亚洲色图清纯唯美| 一区二区免费视频| 日韩av一区二区三区| 狠狠色丁香婷婷综合| 国产aⅴ综合色| 91玉足脚交白嫩脚丫在线播放| 欧美亚洲国产bt| 91精品国产乱码久久蜜臀| 欧美草草影院在线视频| 国产日韩亚洲欧美综合| 成人免费视频在线观看| 亚洲在线视频免费观看| 六月婷婷色综合| 国产成人av自拍| 欧美性三三影院| 精品国产乱码久久久久久浪潮| 欧美国产日产图区| 亚洲国产成人av网| 欧美视频一区在线观看| 日韩限制级电影在线观看| 久久九九久精品国产免费直播| 亚洲欧洲中文日韩久久av乱码| 亚洲成人动漫在线观看| 国产在线精品一区二区夜色 | 国产一区二区三区国产| 国产精品一卡二卡| 日本韩国欧美一区| 欧美mv和日韩mv的网站| 国产精品超碰97尤物18| 日韩精品视频网| 成人福利视频在线看| 欧美日韩电影一区| 欧美激情一区二区三区四区| 伊人夜夜躁av伊人久久| 国产呦精品一区二区三区网站| 91欧美激情一区二区三区成人| 日韩一区二区三区视频在线| 亚洲天堂网中文字| 黑人巨大精品欧美一区| 在线观看av不卡| 国产丝袜欧美中文另类| 午夜精品久久久久久久久久久 | 久久综合九色综合欧美就去吻| 中文字幕佐山爱一区二区免费| 久久国产精品一区二区| 色哟哟亚洲精品| 国产无遮挡一区二区三区毛片日本| 亚洲一区二区三区中文字幕| 国产福利一区二区三区在线视频| 91精品久久久久久久99蜜桃| 亚洲欧美福利一区二区| 国产999精品久久久久久| 6080日韩午夜伦伦午夜伦| 亚洲嫩草精品久久| 岛国一区二区三区| 26uuu亚洲综合色欧美| 三级欧美韩日大片在线看| 色综合天天视频在线观看| 国产欧美日韩在线| 精品综合久久久久久8888| 911精品产国品一二三产区| 一区二区三区自拍| 99这里都是精品| 一区精品在线播放| 国产精品伊人色| 久久久久99精品一区| 国产一区在线看| 久久婷婷色综合| 激情五月激情综合网| 精品欧美一区二区久久| 美日韩一区二区| 欧美大片免费久久精品三p| 免费欧美在线视频| 日韩欧美视频一区| 久久99国产精品久久99 | 日韩女优电影在线观看| 日韩av一区二区三区四区| 精品婷婷伊人一区三区三| 亚洲动漫第一页| 欧美日本国产视频| 日本不卡一二三| 日韩欧美另类在线| 国产真实乱偷精品视频免| 久久精品日产第一区二区三区高清版| 国产呦萝稀缺另类资源| 国产日韩视频一区二区三区| 国产精品66部| 亚洲欧洲日产国产综合网| 91免费国产在线观看| 亚洲国产你懂的| 日韩免费观看2025年上映的电影| 久久精品99久久久| 国产三级精品在线| 92精品国产成人观看免费 | 一色桃子久久精品亚洲| 一本大道综合伊人精品热热| 香蕉成人伊视频在线观看| 欧美成人伊人久久综合网| 国产成人在线观看免费网站| 国产精品情趣视频| 欧美伊人久久久久久久久影院 | 91日韩精品一区| 亚洲国产精品一区二区尤物区| 91精品婷婷国产综合久久性色| 看片网站欧美日韩| 亚洲国产精品传媒在线观看| 在线免费亚洲电影| 麻豆精品精品国产自在97香蕉| 久久毛片高清国产| 在线视频亚洲一区| 美女精品自拍一二三四| 最新不卡av在线| 欧美一区二区高清|