c++ DO循环很奇怪
C++ DO loop being strange
首先,这是我的代码:
string text;
do {
cout << "Enter text: ";
ws(cin);
getline(cin, text);
} while (!text.empty());
// do stuff
我希望我的代码做什么?
-检查用户输入是否为空;
如果userinput = empty,循环到开头,他必须输入新的文本。
如果userinput !=空,退出循环并继续程序。
-当我输入文本时,循环从头开始,我必须重新输入文本。
-当我不输入任何东西,只是键入enter,我的程序是无限期等待,我需要按Ctrl+C退出
这不是一个repeat-until
,而是一个do-while
循环,使用:
string text;
do {
cout << "Enter text: ";
ws(cin);
getline(cin, text);
} while (text.empty());
// ^^
基本上,如果条件是true
,则再次循环,否则将打破循环。在你的例子中,如果字符串不为空,它将循环,如果字符串为空,它将终止循环。
相关文章:
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 即使没有满足他们的条件,我也无法通过一些 do-while 循环
- 如何使用 do while 循环确定最高值和最低值
- do while 循环中的 if 语句以 yes 或 no 结尾
- 在 C 或 C++ 中,循环可以同时具有 "do" 和"while"部分吗?
- 使用 while 或 do while 退出循环
- 带有开关语句的 do-while 循环 -- 无穷循环错误
- 为什么当我输入一个被接受的数字时,我的 do-while 循环没有中断?
- 为什么我的 Do-while 循环无法在C++中运行菜单
- 如果语句不会在 do - while 循环中运行
- 为什么当我对数组使用增量操作时,do for 循环不起作用
- 如何在c++中读取do-while循环中的空白
- 将嵌套的 for 循环更改为 do-while 循环
- 如何修复不会在退出选择时终止的 do-while 循环
- 带有do函数的无限循环
- 为什么这个do-while循环每隔一个循环只写入数组?
- C++ do/while 循环和 if/else: 骰子游戏 -- 第 75 行错误:"Cout"之前的预期"While" -- 如何解决这个问题?
- 卡在链表中的无限 Do-while 循环中
- 试图调节我的 do-while 以停止在终端中退出程序.菜单不会根据需要循环使用当前语句
- 使用基本 do-while 循环求解泊松方程