我正在一个班级项目中,我必须为C ++中的咖啡店创建一个订购系统。如果适用,我正在Visual Studio中工作。
在项目大纲中,老师说有一个简单的整数输入可以浏览菜单。但是,他指定如果输入了NOTHING(假设我已经看到所谓的“热输入”),它将计算收据并重置程序。
我尝试了cin.get()并检查缓冲区是否为'\ n',并且工作正常,但是我当前的实现似乎只能捕获一个热输入,并且无法进入切换情况。
为了从用户那里获取输入,我目前已经尝试了以下方法:
// Get menu input
if (cin.get() == '\n') { // Check if user hot entered, assign value if so
input = 0;
} else { // If not, do it normally
input = cin.get();
}
但是,这不太正确,并且无法捕获输入的整数以用于切换情况。我不确定在推理中这种实现是否合理,或者是否有更简单的途径来进行热输入。
我没有收到任何错误,所以我想我对这些功能的工作方式有误,或者我的实现在逻辑上存在缺陷。
谢谢。
您使用了cin.get()
两次。第二cin.get()
中input = cin.get();
是多余的。
// Get menu input
input = cin.get();
if (input == '\n') { // Check if user hot entered, assign value if so
input = 0;
}
//else { // If not, do it normally
// input = cin.get();
// }
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句