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

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

?? express.cpp

?? 任意數學表達式計算的源碼及測試軟件
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
			d2=atof(s2);
			d3=d1/d2;
			s1.Format("%f",d3);
			str=ReplaceBetweenPos(str,s1,start,end);
	    	GetSingleValue(str,result);

		}


	}
	else
	if (IsTimesExist(str))
	{

		pos=GetJJCCPos(str,"*");
		GetJJCCTwoParm(str,pos,&s1,&s2,&start,&end);
		d1=atof(s1);
		d2=atof(s2);
		d3=d1*d2;
		s1.Format("%f",d3);
		str=ReplaceBetweenPos(str,s1,start,end);
		GetSingleValue(str,result);

	}
	else
		if (IsDivideExist(str))
	{

				
	
			pos=GetJJCCPos(str,"/");
			GetJJCCTwoParm(str,pos,&s1,&s2,&start,&end);
			d1=atof(s1);
			d2=atof(s2);
			d3=d1/d2;
			s1.Format("%f",d3);
			str=ReplaceBetweenPos(str,s1,start,end);
	    	GetSingleValue(str,result);

	}
	else
		if (IsAddExist(str)&&IsPulsExist(str))
		{
			int pos1=GetJJCCPos(str,"*");
			pos=GetJJCCPos(str,"/");
	    	if (pos>pos1)
			{
				pos=GetJJCCPos(str,"+");
				GetJJCCTwoParm(str,pos,&s1,&s2,&start,&end);
				d1=atof(s1);
				d2=atof(s2);
				d3=d1+d2;
				s1.Format("%f",d3);
				str=ReplaceBetweenPos(str,s1,start,end);
	        	GetSingleValue(str,result);

			}
			else
			{
				pos=GetJJCCPos(str,"-");
				GetJJCCTwoParm(str,pos,&s1,&s2,&start,&end);
				d1=atof(s1);
				d2=atof(s2);
				d3=d1-d2;
				s1.Format("%f",d3);
				str=ReplaceBetweenPos(str,s1,start,end);
				GetSingleValue(str,result);

			}
		}
		else
		if (IsAddExist(str))
		{
			pos=GetJJCCPos(str,"+");
			GetJJCCTwoParm(str,pos,&s1,&s2,&start,&end);
			d1=atof(s1);
			d2=atof(s2);
			d3=d1+d2;
			s1.Format("%f",d3);
			str=ReplaceBetweenPos(str,s1,start,end);
	    	GetSingleValue(str,result);

		}
		else
			if (IsPulsExist(str))
			{
				pos=GetJJCCPos(str,"-");
				GetJJCCTwoParm(str,pos,&s1,&s2,&start,&end);
				d1=atof(s1);
				d2=atof(s2);
				d3=d1-d2;
				s1.Format("%f",d3);
				str=ReplaceBetweenPos(str,s1,start,end);
				GetSingleValue(str,result);

			}
			else
			{
			    d1=atof(str);
				result=d1;
            	return ;
			}


}
int CExpress::GetJJCCNum(CString str,CString name)
{
	int n=0;
	int falg=0;
	while(str.Find(name)!=-1)
	{
		n=str.Find(name);
		str.SetAt(n,'@');
		falg++;	
	}
	return falg;

}
void CExpress::GetSignFuncVal(CString str,double &result)
{
	int s_s,s_e,p_s,p_e,style;
	CString p1,p2;
	double result1,result2;
	if (IsContainSign(str))
	{
		style=GetSignStyle(str,&s_s,&s_e,&p_s,&p_e);
		if (style==SIN)
		{	
		
			p1=GetParmString(str,p_s,p_e);
			GetSingleValue(p1,result1);
			p2.Format("%f",sin(result1*PI/180.0));
			str=ReplaceBetweenPos(str,p2,s_s,p_e);


		
		}
		if (style==COS)
		{
			
			p1=GetParmString(str,p_s,p_e);
			GetSingleValue(p1,result1);
			p2.Format("%f",cos(result1*PI/180.0));
			str=ReplaceBetweenPos(str,p2,s_s,p_e);

	
		}
		if (style==TAN)
		{
	
			p1=GetParmString(str,p_s,p_e);
			GetSingleValue(p1,result1);
			p2.Format("%f",tan(result1*PI/180.0));
			str=ReplaceBetweenPos(str,p2,s_s,p_e);

		}
		if (style==EXP)
		{
		
			p1=GetParmString(str,p_s,p_e);
			GetSingleValue(p1,result1);
			p2.Format("%f",exp(result1));
			str=ReplaceBetweenPos(str,p2,s_s,p_e);

		}
		if (style==LOG)
		{
	
			GetParmTwo(str,p_s,p_e,&p1,&p2);
			GetSingleValue(p1,result1);
			GetSingleValue(p2,result2);
			p2.Format("%f",log(result2)/log(result1));
			str=ReplaceBetweenPos(str,p2,s_s,p_e);
		}
		if (style==ASIN)
		{
		//	AfxMessageBox("asin");
			p1=GetParmString(str,p_s,p_e);
			GetSingleValue(p1,result1);
			p2.Format("%f",asin(result1)*180.0/PI);
			str=ReplaceBetweenPos(str,p2,s_s,p_e);

		}
		if (style==ACOS)
		{
		//	AfxMessageBox("acos");
			p1=GetParmString(str,p_s,p_e);
			GetSingleValue(p1,result1);
			p2.Format("%f",acos(result1)*180.0/PI);
			str=ReplaceBetweenPos(str,p2,s_s,p_e);

		}
		if (style==ATAN)
		{
		//	AfxMessageBox("atan");
			p1=GetParmString(str,p_s,p_e);
			GetSingleValue(p1,result1);
			p2.Format("%f",atan(result1)*180.0/PI);
			str=ReplaceBetweenPos(str,p2,s_s,p_e);

		}
		if (style==SIGN)
		{
	
			p1=GetParmString(str,p_s,p_e);
			GetSingleValue(p1,result1);
			int i=0;
			if (result1<0)
			{
				i=-1;
			}
			else
			if (result1>0)
			{
				i=1;
			}
			else
				if (abs(result1)<0.000000001)
				{
					i=0;
				}
			p2.Format("%d",i);
			str=ReplaceBetweenPos(str,p2,s_s,p_e);
		
		}
		if (style==POW)
		{
		//	AfxMessageBox("pow");
			GetParmTwo(str,p_s,p_e,&p1,&p2);
			GetSingleValue(p1,result1);
			GetSingleValue(p2,result2);
			p2.Format("%f",pow(result1,result2));
			str=ReplaceBetweenPos(str,p2,s_s,p_e);		
		}
       
		if (IsContainSign(str))
	    	GetSignFuncVal(str,result);
		else
		{
//			AfxMessageBox("GetSingleValue");
			GetSingleValue(str,result);
		}

	}
	else
	{
		
		GetSingleValue(str,result);
	}

	
}
bool CExpress::IsContainBracket(CString str)
{
	if(str.Find("(",0)==-1) return false;
	else return true;
	}

void CExpress::GetBracketResult(CString str,double &result)
{
	int start,end;
	CString s1,s2;
	double r;
	fprintf(resultF,"step%d=%s\n",stepNum+1,str);
	step[stepNum++]=str+"/n";
	if(IsContainBracket(str))
	{

		GetBracketPos(str,&start,&end);
		s1=GetStrFromStartAndEnd(str,start,end);
		GetSignFuncVal(s1,r);
		s2.Format("%f",r);
		str=ReplaceBetweenPos(str,s2,start,end);
		if (IsContainBracket(str))
		{
			fprintf(resultF,"step%d=%s\n",stepNum+1,str);
			step[stepNum++]=str+"/n";
			GetBracketResult(str,result);
		}
		else
		{
			step[stepNum++]=str+"/n";
			GetSignFuncVal(str,result);
    		fprintf(resultF,"result=%.4f\n",result);
		}
	
	}
	else
	{
	
		step[stepNum++]=str+"/n";
		GetSignFuncVal(str,result);
		fprintf(resultF,"result=%.4f\n",result);
	}
}
double CExpress::GetResultFrString(CString str)
{
	if (!Cheak(str))
	{
		AfxMessageBox("表達式非法!");
		return 0;
	}
	
	resultF=fopen("result.txt","w");
	fprintf(resultF,"****************計算步驟*******************\n");
	stepNum=0;
	double result;
	GetBracketResult(str,result);
	fclose(resultF);
	return result;
}
double CExpress::GetResultFrString1(CString str,CString parm,double val)
{
	//if (!Cheak(str))
	{
	//	AfxMessageBox("表達式非法!");
	//	return 0;
	}
	CString st;
	st.Format("%f",val);
	str.Replace(parm,st);
	return GetResultFrString(str);
}


double CExpress::GetResultFrString2(CString str,CString parm1,double val1,CString parm2,double val2)
{
	if (!Cheak(str))
	{
		AfxMessageBox("表達式非法!");
		return 0;
	}
	CString st1;
	st1.Format("%f",val1);
	str.Replace(parm1,st1);
	st1.Format("%f",val2);
	str.Replace(parm2,st1);
	return GetResultFrString(str);
}double CExpress::GetResultFrStringN(CString str,CString parm[],double val[],int N)
{
	if (!Cheak(str))
	{
		AfxMessageBox("表達式非法!");
		return 0;
	}
	CString st;
	for (int i=0;i<N;i++)
	{
    	st.Format("%f",val[i]);
    	str.Replace(parm[i],st);
	}
	return GetResultFrString(str);
}
BOOL CExpress::Cheak(CString &str)
{
	CString s=str; 
	int i,j;
	int pos;
	i=0;j=0;
	//////////////////////////////
	while (s.Find("(")!=-1)
	{
		pos=s.Find("(");
		if (s.GetAt(pos+1)==')')
		{
			return false;
		}
		s.SetAt(pos,'!');
		i++;
	}
	while (s.Find(")")!=-1)
	{
		pos=s.Find(")");
		s.SetAt(pos,'!');
		if (s.GetAt(pos-1)=='(')
		{
			return false;
		}
		j++;
	}
	if (i!=j) return false;
    
	i=0;j=0;
	while (s.Find("[")!=-1)
	{
		pos=s.Find("[");
		if (s.GetAt(pos+1)==']')
		{
			return false;
		}
		s.SetAt(pos,'!');
		i++;
	}
	while (s.Find("]")!=-1)
	{
		pos=s.Find("]");
		if (s.GetAt(pos-1)=='[')
		{
			return false;
		}
		s.SetAt(pos,'!');
		j++;
	}
	if (i!=j) return false;
    //////////////////////////////
	s=str;
	while(IsContainSign(s))
	{
		int type,a,b,c,d;
		type=GetSignStyle(s,&a,&b,&c,&d);
		if (type==POW||type==LOG)
		{
			CString st=GetStrFromStartAndEnd(s,c,d);
			if (st.Find(",")==-1)
			{
				return false;
			}
		}
		else
		{
			CString st=GetStrFromStartAndEnd(s,c,d);
			if (st.Find(",")!=-1)
			{
				return false;
			}
		}
		s=ReplaceBetweenPos(s,"@",a,d);
	}
	////////////////////////
/*
	str.Replace("X","@");
	str.Replace("Y","#");
	str.Replace("Z","$");
	str.MakeLower();
	str.Replace("@","X");
	str.Replace("#","Y");
	str.Replace("$","Z");*/
	str.Replace("E","2.71828");
	str.Replace("PI","3.1415926");
	return true;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩精品二区第二页| 国产精品久久久久久久久免费相片 | 亚洲视频免费在线| 日本不卡视频一二三区| 色综合天天综合狠狠| 欧美激情资源网| 精品一区二区三区免费观看 | 国产成人在线网站| 欧美一区二区在线播放| 亚洲精品欧美专区| 91亚洲国产成人精品一区二三| 精品国产乱码久久久久久图片 | 一区二区在线观看视频| 国产另类ts人妖一区二区| 欧美一级日韩一级| 婷婷亚洲久悠悠色悠在线播放| av电影一区二区| 亚洲国产精品精华液ab| 国产精品1区2区3区在线观看| 欧美v国产在线一区二区三区| 视频一区在线播放| 在线播放欧美女士性生活| 亚洲国产成人91porn| 在线欧美一区二区| 一区二区三区美女视频| 在线观看亚洲精品| 亚洲午夜久久久久久久久电影院 | 久久精品水蜜桃av综合天堂| 国内精品伊人久久久久av一坑| 91精品国产黑色紧身裤美女| 亚洲成av人影院| 欧美色倩网站大全免费| 亚洲图片欧美综合| 欧美精品久久天天躁| 青青青伊人色综合久久| 日韩一级大片在线| 韩日精品视频一区| 中文字幕乱码久久午夜不卡| 成人理论电影网| 亚洲精品国产第一综合99久久| 91黄视频在线| 日韩国产欧美一区二区三区| 日韩三级.com| 国产一区二区三区视频在线播放| 国产日韩欧美一区二区三区乱码| av电影在线观看一区| 亚洲一本大道在线| 欧美精品一区在线观看| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 精品少妇一区二区三区| 午夜精品久久久久久久蜜桃app| 欧美另类z0zxhd电影| 精品在线观看视频| 欧美国产成人在线| 欧美三片在线视频观看| 美女视频免费一区| 国产精品午夜电影| 欧美视频一区二区三区在线观看 | 99久久伊人精品| 日韩有码一区二区三区| 国产亚洲人成网站| 欧美三级韩国三级日本一级| 狠狠色狠狠色综合日日91app| 国产精品久久久久影院色老大| 欧美伊人久久久久久午夜久久久久| 日韩成人一级大片| 亚洲欧洲无码一区二区三区| 欧美人体做爰大胆视频| 成人永久aaa| 亚洲成人av福利| 国产欧美日韩不卡免费| 欧美日韩国产片| 成人av资源在线观看| 日韩专区一卡二卡| 国产精品福利一区二区| 精品欧美一区二区久久| 欧美在线观看视频一区二区| 国产精品亚洲第一区在线暖暖韩国| 亚洲综合一区二区精品导航| 精品国产一区久久| 欧美日韩国产欧美日美国产精品| 国产河南妇女毛片精品久久久| 亚洲综合清纯丝袜自拍| 欧美国产丝袜视频| 欧美成人在线直播| 欧美三级电影在线看| va亚洲va日韩不卡在线观看| 久久99精品国产麻豆婷婷| 亚洲国产精品尤物yw在线观看| 国产精品成人网| 久久久国际精品| 日韩视频免费观看高清完整版在线观看| 99免费精品在线观看| 国产乱人伦偷精品视频不卡| 日本亚洲视频在线| 一卡二卡三卡日韩欧美| 中国av一区二区三区| 国产亚洲一区二区三区| 精品国产免费一区二区三区香蕉| 欧美精品1区2区| 欧美日韩国产小视频在线观看| 91在线观看一区二区| 菠萝蜜视频在线观看一区| 国产精品一二三四区| 国产一区二区女| 国产资源在线一区| 久久成人免费网| 国产一区二区网址| 极品少妇xxxx精品少妇偷拍| 激情久久久久久久久久久久久久久久| 日韩高清不卡一区二区| 日本v片在线高清不卡在线观看| 亚洲一区二区四区蜜桃| 亚洲国产毛片aaaaa无费看 | 亚洲bt欧美bt精品777| 亚洲乱码日产精品bd | 国产精品第五页| 日韩美女啊v在线免费观看| 中文文精品字幕一区二区| 国产亲近乱来精品视频| 中文字幕精品一区二区精品绿巨人 | 99re8在线精品视频免费播放| 成人午夜电影久久影院| gogogo免费视频观看亚洲一| 91麻豆精东视频| 欧美日韩黄色一区二区| 777午夜精品免费视频| 日韩欧美一区二区视频| 国产日韩欧美精品一区| 成人免费在线观看入口| 一区二区三区国产精华| 日韩精品高清不卡| 国产一区二区三区四| 91香蕉视频污| 91精品国产美女浴室洗澡无遮挡| 久久无码av三级| 亚洲人一二三区| 男女男精品视频网| 成人丝袜高跟foot| 91麻豆视频网站| 日韩免费性生活视频播放| 国产日韩欧美精品一区| 亚洲宅男天堂在线观看无病毒| 日产欧产美韩系列久久99| 国产乱人伦偷精品视频免下载| 色激情天天射综合网| 日韩一级黄色片| 亚洲免费三区一区二区| 美女视频一区二区| 99re6这里只有精品视频在线观看| 欧美日韩国产bt| 国产欧美视频在线观看| 亚洲国产成人av好男人在线观看| 激情综合色播五月| 在线看国产一区二区| 久久综合久久鬼色中文字| 亚洲乱码日产精品bd| 国产在线麻豆精品观看| 欧美最新大片在线看| 国产午夜精品理论片a级大结局| 亚洲一区二区中文在线| 国产精品一区在线观看乱码| 欧美日韩高清一区二区三区| 国产精品毛片高清在线完整版| 蜜桃91丨九色丨蝌蚪91桃色| 色婷婷久久久亚洲一区二区三区| 久久婷婷久久一区二区三区| 亚洲成人久久影院| 91在线视频网址| 国产日韩精品视频一区| 日本成人在线看| 在线观看日韩精品| 成人免费在线播放视频| 精品一区二区免费视频| 在线不卡中文字幕播放| 一区二区欧美在线观看| 99精品视频中文字幕| 久久夜色精品国产噜噜av| 日产欧产美韩系列久久99| 91黄视频在线| 一区二区三区四区乱视频| 成人永久免费视频| 国产嫩草影院久久久久| 精品一区二区三区久久久| 日韩欧美综合一区| 蜜臀av性久久久久蜜臀aⅴ| 91精品在线观看入口| 亚洲国产精品久久一线不卡| 日本高清不卡一区| 亚洲乱码国产乱码精品精可以看| 高清国产一区二区| 国产婷婷色一区二区三区| 国产乱国产乱300精品| 久久久精品中文字幕麻豆发布| 日本视频在线一区| 日韩三级免费观看| 极品少妇一区二区| 国产三级精品在线| 成人国产精品视频| 亚洲人成小说网站色在线|