如果用户输入无效,如何使用字符串变量-C++重复输入命令

How to repeat input command if user input is invalid with a string variable - C++

本文关键字:输入 -C++ 变量 命令 字符串 何使用 用户 无效 如果      更新时间:2023-10-16

所以我几乎没有编码经验,而且我编写的代码存在这样的问题,即如果第一次正确选择"是",就会要求用户再次输入。如果用户输入"否",或者如果用户写了一个无效的选项,那么下一组问题就会起作用。我还没有发现任何不使用数组处理字符串变量的例子。谢谢-附言:我知道它的糟糕形式,但我只是想让它发挥作用。

#include<string>
#include<iostream>
using namespace std;
int main() {
string choice;
cout<<"Do you choose to go fight in the war??nn";
cout << "choose yes or non";
cin >> choice;
while(choice != "yes" || choice != "no")
{
cout << "pls enter againn";
cin >> choice;
if(choice == "no") 
{
cout << "you live";
break;
}
else(choice == "yes");
{
cout << "you die";
break;
}
}
}

您需要的不是else而是else if:

else if (choice == "yes") {
cout << "you die";
break;
}
一种方法是使用无限循环来处理输入。如果给出了有效的输入,则中断循环。
using namespace std;
int main()
{
string choice;
cout << "Do you choose to go fight in the war??nn";
cout << "choose yes or non";
while (true) {
cin >> choice;
if (choice == "no") {
cout << "you live";
break;
}
else if (choice == "yes")
{
cout << "you die";
break;
}
else {
cout << "pls enter againn";
}
}
return 0;
}

当我开始学习编码时,我面临着同样的逻辑问题,比如你现在正在挣扎的问题。我只是觉得你在语法和编码逻辑方面有问题。希望我的代码能有所帮助!

#include <iostream>
#include <string>
using namespace std;
int main() {
string choice;
do {
cout << "Do you choose to go fight in the war??n";
cout << "Choose yes or non";
cin >> choice;
if (choice == "no") {
cout << "you liven";
break;
} else if (choice == "yes") {
cout << "you dien";
break;
}
} while (choice != "yes" && choice != "no");
return 0;
}

使用do-while循环进行字符串输入,循环后应用条件

#include<iostream>
using namespace std;
main()
{
String choice;
cout << "Do you choose to go fight in the war??nn";
cout << "choose yes or non";
do
{
cin >> choice;
If(choice != "yes" || choice != "no") 
Cout<<"please enter again";
}
while (choice != "yes" || choice != "no");
If (choice == "no")
{
cout << "you live";
} 
else
{
cout << "you die";
}
}