當前位置:編程學習大全網 - 源碼下載 - 數據協議c源代碼

數據協議c源代碼

# include & ltiostream & gt# include & ltsstream & gt# include & lt堆棧& gt# include & lt字符串& gt使用?命名空間?std浮動?斯特林頓姆(const?弦與弦。?str){istringstream?ISS(str);浮動?numiss?& gt& gt?num回歸?num}

int?在(字符串?c){?如果(c?==?"+"?||?c?==?"-"?||?c?==?"*"?||?c?==?"/"?||?c?==?"("?||?c?==?")"||?c?==?" # ")返回?1;?elsereturn?0;}

字符串?procede(字符串?op1,字符串?op2){?if(op1?==?"+"?& amp& amp?(op2?==?“*”| | op2?=="/"||op2?== "(")回車?" & lt";?if(op1?==?"+"?& amp& amp?(op2?==?"+"||op2?=="-"||op2?==")"||op2?=="# ")返回?" >;?if(op1?==?"-"?& amp& amp?(op2?==?“*”| | op2?=="/"||op2?== "(")回車?" & lt";?if(op1?==?"-"?& amp& amp?(op2?==?"+"||op2?=="-"||op2?==")"||op2?=="# ")返回?" >;?if(op1?==?"*"?& amp& amp?op2?== "(")返回?" & lt";?if(op1?==?"*"?& amp& amp?(op2?==?"+"||op2?=="-"||op2?=="*"||op2?=="/"||op2?==")"||op2?=="# ")返回?" >;?if(op1?==?"/"?& amp& amp?op2?== "(")返回?" & lt";?if(op1?==?"/"?& amp& amp?(op2?==?"+"||op2?=="-"||op2?=="*"||op2?=="/"||op2?==")"||op2?=="# ")返回?" >;?if(op1?==?"("?& amp& amp?op2?== ")回報?"=";?if(op1?==?"("?& amp& amp?(op2?=="+"||op2?=="-"||op2?=="*"||op2?=="/"||op2?== "(")回車?" & lt";?if(op1?==?")"?& amp& amp?(op2?=="+"||op2?=="-"||op2?=="*"||op2?=="/"||op2?==")"||op2?=="# ")返回?" >;?if(op1?==?"#"?& amp& amp?(op2?=="+"||op2?=="-"||op2?=="*"||op2?=="/"||op2?=="("||op2?=="# ")返回?" & lt";}

浮動?操作(浮動?壹、弦?op,float?b){?如果(op?==?"+")返回?a+b;?如果(op?==?“-”)返回?a-b;?如果(op?==?“*”)返回?a * b;?如果(op?==?“/”回車?a/b;}

int?evaluateExpression(){?浮動?num1,num2?堆棧& ltfloat & gt?OPND//存儲操作數?堆棧& lt字符串& gt?OPTR?//商店經營者?opnd . empty();?optr . empty();?optr . push(" # ");?std::string?c;?CIN & gt;& gtc;?而(c?!=?"#"?||?OPTR.top()?!=?"#")?{如果(!In(c))//不是堆棧上的運算符{?opnd . push(strington um(c));?CIN & gt;& gtc;}else{?//cout & lt;& ltprocede(OPTR.top(),c)& lt;& ltendl?if(procede(OPTR.top(),c)?==?" & lt")?{ optr . push(c);CIN & gt;& gtc;?}?不然呢?if(procede(OPTR.top(),c)?==?"=")?{ optr . pop();CIN & gt;& gtc;?}別的?if(procede(OPTR.top(),c)?==?" >)?{字符串?op?=?optr . top();optr . pop();?num1?=?opnd . top();opnd . pop();?num2?=?opnd . top();opnd . pop();

OPND.push(operate(num2,op,num 1));?}}?}?如果(!OPND.empty())?回歸?opnd . top();?不然呢?回歸?0;}

int?main(){?而(1)?{ cout & lt& ltevaluate expression()& lt;& ltendl?}系統(“暫停”);回歸?0;}

  • 上一篇:區塊鏈成傳銷新騙術,區塊鏈到底是什麽?
  • 下一篇:壹個人用flash或者unity3d做壹個像憤怒的小鳥那種規模的遊戲要多長時間(估計1個星期有5,6個小時)
  • copyright 2024編程學習大全網