我有一个while循环,它包含两个switch语句,一些输出代码和一些嵌套的while循环来检查输入错误。问题是,当用户输入“Q”退出并跳过其余代码时,我想打破switch语句。所以我基本上遇到了两个问题。
我已经说过这是一个流问题而不是语法问题,并且想知道我应该如何构建流程以使其成为“干净的代码”。
一个简单的例子:
do {
char answer;
cout << "Type answer: ";
cin >> answer;
switch (answer) {
case A:
cout << "hello";
break;
case B:
cout << "more weird output";
break;
case Q:
cout << "Goodbye";
return 0;
}
cout << "more useless output that I want to skip";
cout << "how does this even work";
} while (run);
这里我有一个返回0,它完全否定了对while(run)标志的需要。这是一个糟糕的编码实践,我被告知,所以我想知道如何以良好的方式构建这个?
答案 0 :(得分:-1)
在这里,我认为我修复了代码。确保输入大写Q而不是小写。你也忘记了你的角色' '
。你的逻辑是正确的 - 只是小错误:) Goodluck!
#include <iostream>
using namespace std;
int
main ()
{
bool run = true;
do
{
char answer;
cout << "Type answer: ";
cin >> answer;
switch (answer)
{
case 'A':
cout << "hello";
break;
case 'B':
cout << "more weird output";
break;
case 'Q':
cout << "Goodbye";
return 0;
}
cout << "more useless output that I want to skip";
cout << "how does this even work";
}while (run);
return 0;
}