提示用户说明

时间:2014-03-20 02:07:28

标签: c++

我正在尝试编写一个中缀计算器,并且我想要启动该程序,询问用户是否需要帮助。如果用户输入“y”或“n”,我编写的代码将提供指令,但是,在这两种情况下,程序结束时不允许用户输入中缀表达式并运行程序的其余部分。似乎该程序在cout<<<<<< “表达?”;它没有为用户提供在此之后输入任何内容的选项。

1 个答案:

答案 0 :(得分:1)

当您使用cin >> help时,您只需阅读一个字符yn。之后的换行符保留在输入缓冲区中。

然后当主函数使用getline时,它会读取下一个换行符,该换行符是provideHelpIfNecessary留在缓冲区中的换行符。所以它只读取一个零长度的行,这导致while循环到break

getline只读一个字符的instad中使用provideHelpIfNecessary