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