【发布时间】:2019-11-04 19:59:05
【问题描述】:
我正在做一个课堂项目,我必须用 C++ 为咖啡店创建一个订购系统。如果适用,我正在使用 Visual Studio。
在项目大纲中,老师说有一个简单的整数输入来导航菜单;但是,他指定如果没有输入任何内容(我假设我所看到的称为“热输入”),它会计算收据并重置程序。
我已经尝试过 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();
}
但是,这并不完全正确,并且无法捕获输入的整数以用于 switch 案例。我不确定这种实现在推理上是否合理,或者是否有更简单的途径来提供热输入的案例。
我没有收到任何错误,所以我认为我对这些函数如何工作的理解有问题,或者我的实现在逻辑上存在缺陷。
谢谢。
【问题讨论】:
-
您好,欢迎来到 SO。考虑查看 C++ 输入。这是一个开始的好地方 -> stackoverflow.com/questions/41600981/…
-
存储
cin.get的结果,你想调用一次而不是两次 -
我使用 int 类型作为输入,所以如果 cin.get() 返回 '\n' 它不会正确存储在该变量中?
标签: c++ command-line-interface