Ich brauche Hilfe auf meiner umgekehrte polnische notation Rechner

Arbeite ich an einem Programm, um eine " umgekehrte polnische notation Rechner und ich Frage mich, wenn jemand kann mir einige Hinweise. Der Rechner wird die Einnahme einer einzelnen Zeile vom Benutzer wie 2 3 + 7 4 - *; mit Leerzeichen dazwischen, und ich nehme an, drucken Sie ein Ergebnis nach jeder operation.

hier ist ein Teil von meinem code

#include <iostream>
#include <string>
#include <stack>
#include <sstream>
using namespace std;

int main() {
  stack<float>stack;
  int i;
  float num,result,first,second;
  char op,ch;
  string str;

  getline(cin,str);
  istringstream is(str);
  for(int i=0;i<str.size();i++) {
    is>>num;
    stack.push(num);
  }
  for (i=0;i<str.size();++i) {
    ch=str[i];
  }
  if (ch=='+'||'-'||'*'||'/') {
    if (ch='+') {
      first=stack.top();
      stack.pop();
      second=stack.top();
      stack.pop();
      result=first+second;
      stack.push(result);
      cout<<result;
    }
// } //missing from question
//}

Habe ich immer komische zahlen als Ergebnis.
Lese ich in meinen stack richtig?

  • Warum schreiben Sie den code in einer nicht lesbaren Weise?
InformationsquelleAutor Hi_mynameis | 2014-12-11
Schreibe einen Kommentar