在do/while循环中跳过Cin输入
Cin input being skipped in do/while loop
cin >> subchoice;
switch(subchoice)
{
case 1:
gold = gold - 5;
cout << "Now you only have " << gold << " gold.n";
cout << "blah blah";
health = 100;
break;
case 2:
cout << "blah blah"
<< "1 - Head Back in and Buy a Bedn"
<< "2 - Find a Clothier Shopn"
<< "3 - Find a Blacksmith'sn";
cin >> subsubchoice;
switch(subsubchoice)
{
case 1:
gold = gold - 5;
cout << "Now you only have " << gold << " gold.n";
cout << "blah blah"
health = 100;
break;
case 2:
menuchoice = subsubchoice;
break;
case 3:
menuchoice = subsubchoice;
break;
}
}
break;
case 2:
}
} while (!boolchoice);
嘿,我有这段代码。不管我什么时候运行它,它总是跳过subsubchoice的cin输入。它应该做的是接受那个输入然后要么让你进入客栈要么把那个选择应用到menuchoice然后在do-while循环的开始重新启动你。我不知道为什么它跳过输入,然后关闭程序。
也许您需要在cin >> subsubchoice;
之前添加cin.ignore()
你能解释一下你的输入格式吗?Cin读取所有输入,直到找到空白字符('n', 't', ' '等)。是否有可能在原始输入中插入空白,例如"21"?
给你:
-
在cout <<你很快回到温暖的旅店,在温暖的夜晚放松下来,睡个好觉。你的生命值恢复到100.n";
-
删除最后一个case 2:或添加break;
-
while (!boolchoice)保证为false,因为为了进入森林if, boolchoice必须是非零的。如果你想让它迭代,尝试使用while(黄金)或while(健康)退出时,你要么是黄金或健康…
相关文章:
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- 分割错误 11:尝试使用 cin 输入 B[1] 时
- 当使用 std::CIN 输入结构时,它会出错
- C ++如何使用CIN输入这样的值?
- 使用 cin 输入数组值
- 当我输入一个字母时,cin 输入(输入是一个 int),而不是打印错误一次,它打印正确一次,然后在循环的其余部分打印 i
- 成功使用连续同时(cin >>输入)
- 连续 cin 输入在C++中的工作原理
- 无法获取哨兵值以读取多个 CIN 输入?
- 我如何使用CIN输入整数,每个数字都被逗号分隔
- C CIN输入要文件
- C++:获取用户通过cin输入的数据类型
- 无法读取字符串的长 cin 输入
- 如何将可编辑的预定义字符串写入 C++ 控制台应用程序中的 cin 输入运算符
- 循环获得CIN输入
- cin 输入可以有多大
- 如何拆分 CIN 输入
- 检查有效的 CIN 输入时出现问题
- 较长的获取线 CIN 输入的问题
- 检查 cin 输入流会生成一个整数