。という名前のifstreamオブジェクトを含む.txtファイルを開きましたinput
。新しい行が「(」で始まる場合、希望どおりに読み取られません。期待される出力が出力されないため、ループを終了します。whileループからジャンプするのは次の場合のみです。ファイルの最後に到達します。何が問題になっていますか?dowhileループと.txtファイルを以下に示します。
char c;
int i;
do
{
if(input.peek( ) == '(' || input.peek( ) == ')')
{
input >> c;
cout << c;
}else if(input.peek( ) == '+' || input.peek( ) == '-' || input.peek( ) == '*' || input.peek( ) == '/')
{
input >> c;
cout << c;
}else
{
input >> i;
cout << i;
}
}while(input && input.peek( ) != EOF);
.txtファイルは次のとおりです。それぞれが別々の行にあります。
(3)
(3)
4
(5+7)-(5*3)
これは私の出力です:
(3)3