0

こんにちは皆さん、入力を取得中にプラス記号について問題が発生しています。ここでは、逆ポーランド記法計算機を扱っています。私がしなければならないのは、入力を「3 2 + $」として受け取ることです。これは、(簡単な方法で) 3 と 2 を加算して表示することを意味します。私はstringstreams、while(cin)を使用しようとしました。今、1つずつ入力を取得しようとしています。

int num;
char ch;
while (cin)
    {
        if (cin >> num)
        {
            cout<<num;
        }
        else
        {
            cin.clear();
            cin >> ch;
            cout << ch;
        }
    }
}

+ と - では機能せず、* と / では機能します。しかし、それらのオペランドも必要です。getline で istringstream を試しました。+ も - も表示されませんでした。

4

1 に答える 1