91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.14MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-08-12
  • 語言: C/C++
  • 標簽: c++??mid_to_suffi??

資源簡介

這是一個運行于vs2015的項目,代碼也就200+行,實現的功能有基礎的四則運算以及math里面cos,sin,pow函數的,有這幾個函數為樣本添加其他函數也很簡單,代碼實現簡單,中綴轉后綴,只用了一個棧,附加提醒,若是使用函數,一定要加括號,如pow(1+2,sin(3+4))這樣的可行。

資源截圖

代碼片段和文件信息

#include“cal.h“
cal::cal(string?ans)
{
str?=?ans;
}
cal::~cal()
{

}
int?cal::compareNumber(char?x)//用來比較符號的優先級
{
if?(x?==?‘#‘||x==‘(‘?||?x?==?‘‘)
return?-1;
if?(x?==?‘+‘?||?x?==?‘-‘)
return?0;
if?(x?==?‘*‘?||?x?==?‘/‘)
return?1;
return?2;
}

void?cal::change(string?mid?string?suxfix)//中綴表達式轉換為后綴表達式
{
int?i?=?0?len?=?mid.size()?mid_index?=?0;
char?c;
stackintElements;//?int數據集
intElements.push(‘#‘);//?特殊符號用來區分元素
while?(i? {
if?(mid[i]?==?‘(‘)
{
intElements.push(mid[i]);
i++;
}
else?if?(mid[i]?==?‘)‘)
{
while?(intElements.top()?!=?‘(‘)
{
suxfix+=?intElements.top();
suxfix+=?‘?‘;
intElements.pop();
}
intElements.pop();
i++;
}
else?if?(mid[i]?==?‘‘)
{
while?(intElements.top()?!=?‘(‘)
{
suxfix?+=?intElements.top();
suxfix?+=?‘?‘;
intElements.pop();
}
i++;
}
else?if?(mid[i]?==?‘+‘?||?mid[i]?==?‘-‘?||?mid[i]?==?‘/‘?||?mid[i]?==?‘*‘)
{
while?(compareNumber(intElements.top())?>=?compareNumber(mid[i]))
{
suxfix+=?intElements.top();
suxfix+=?‘?‘;
intElements.pop();
}
intElements.push(mid[i]);
i++;
}
else?if?(mid[i]?>=?‘0‘&&mid[i]?<=?‘9‘)
{
while?(mid[i]?>=?‘0‘&&mid[i]?<=?‘9‘)
{
suxfix+=?mid[i];
i++;
}
suxfix+=?‘?‘;
}
else?if?(mid[i]?>=?‘a‘&&mid[i]?<=?‘z‘)
{
string?count;
for?(;?mid[i]?!=?‘(‘;?i++)
count?+=?mid[i];
if?(count.compare(“sin“)?==?0)
intElements.push(‘a‘);
else?if?(count.compare(“pow“)?==?0)
intElements.push(‘b‘);
else?if?(count.compare(“cos“)?==?0)
intElements.push(‘c‘);
}
else?if(mid[i]==‘‘)
{
i++;
}
}
while?(intElements.top()?!=?‘#‘)?{
suxfix+=?intElements.top();
suxfix+=?‘?‘;
intElements.pop();
}
printf(“%lf“countSuxfix(suxfix));
}

double?cal::countSuxfix(string?suxfix)//計算后綴表達式???suxfix后綴表達式
{
int?len?=?suxfix.size();
double?x;
stack?intElements;
int?i?=?0;
while?(i if?(suxfix[i]?==?‘?‘)//?用于表達式有效字符集用完跳出循環
{
i++;
continue;
}
switch?(suxfix[i])
{
case?‘+‘:
x?=?intElements.top();//根據原理圖看
intElements.pop();
x?=?intElements.top()?+?x;
intElements.pop();?i++;
break;
case?‘-‘:
x?=?intElements.top();
intElements.pop();
x?=?intElements.top()?-?x;
intElements.pop();
i++;
break;
case?‘*‘:
x?=?intElements.top();
intElements.pop();
x?=?intElements.top()*x;
intElements.pop();
i++;
break;
case?‘a‘:
x?=?intElements.top();
intElements.pop();
x?=?sin(x);
i++;
break;
case?‘b‘:
{
int?a?=?intElements.top();
intElements.pop();
int?b?=?intElements.top();
intElements.pop();
x?=?1;
for?(int?i?=?0;?i? {
x?*=?b;
}
i++;
break;
}
case?‘c‘:
x?=?intElements.top();
intElements.pop();
x?=?cos(x);
i++;
break;
case?‘/‘:

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

????..A..H.?????35840??2019-01-16?18:01??Project1\.vs\Project1\v14\.suo

?????文件?????118272??2019-01-16?17:41??Project1\Debug\Project1.exe

?????文件?????685788??2019-01-16?17:41??Project1\Debug\Project1.ilk

?????文件????1134592??2019-01-16?17:41??Project1\Debug\Project1.pdb

?????文件???????3437??2019-01-16?17:41??Project1\Project1\cal.cpp

?????文件????????434??2019-01-16?11:52??Project1\Project1\cal.h

?????文件?????346536??2019-01-16?17:41??Project1\Project1\Debug\cal.obj

?????文件???????1086??2019-01-16?14:47??Project1\Project1\Debug\Project1.Build.CppClean.log

?????文件????????716??2019-01-16?17:41??Project1\Project1\Debug\Project1.log

?????文件???????1326??2019-01-16?17:41??Project1\Project1\Debug\Project1.tlog\CL.command.1.tlog

?????文件??????27078??2019-01-16?17:41??Project1\Project1\Debug\Project1.tlog\CL.read.1.tlog

?????文件???????2030??2019-01-16?17:41??Project1\Project1\Debug\Project1.tlog\CL.write.1.tlog

?????文件???????1530??2019-01-16?17:41??Project1\Project1\Debug\Project1.tlog\link.command.1.tlog

?????文件???????3520??2019-01-16?17:41??Project1\Project1\Debug\Project1.tlog\link.read.1.tlog

?????文件????????834??2019-01-16?17:41??Project1\Project1\Debug\Project1.tlog\link.write.1.tlog

?????文件????????228??2019-01-16?17:41??Project1\Project1\Debug\Project1.tlog\Project1.lastbuildstate

?????文件?????486400??2019-01-16?17:41??Project1\Project1\Debug\vc140.idb

?????文件?????471040??2019-01-16?17:41??Project1\Project1\Debug\vc140.pdb

?????文件?????166206??2019-01-16?14:48??Project1\Project1\Debug\源.obj

?????文件???????5807??2019-01-14?15:18??Project1\Project1\Project1.vcxproj

?????文件???????1147??2019-01-14?15:18??Project1\Project1\Project1.vcxproj.filters

?????文件????????192??2019-01-16?10:58??Project1\Project1\源.cpp

?????文件???????1306??2019-01-14?14:09??Project1\Project1.sln

?????文件????8474624??2019-01-16?18:01??Project1\Project1.VC.db

?????目錄??????????0??2019-01-14?14:09??Project1\.vs\Project1\v14

?????目錄??????????0??2019-01-16?17:41??Project1\Project1\Debug\Project1.tlog

?????目錄??????????0??2019-01-14?14:09??Project1\.vs\Project1

?????目錄??????????0??2019-01-16?17:41??Project1\Project1\Debug

????...D.H.?????????0??2019-01-14?14:09??Project1\.vs

?????目錄??????????0??2019-01-16?14:53??Project1\Debug

............此處省略5個文件信息

評論

共有 條評論