私はいくつかの初心者のプロジェクトで作業しています.1つは、2つの特定の名前(AliceとBob)を迎えるプログラムを作成することです。私は最善の方法は、whileループを使用することだと思ったので、名前がBobまたはAliceと等しくない限り、ユーザーに正しい名前を入力させ続けるでしょう。ただし、BobやAliceの場合でも、プログラムはwhileループで出力を出力します。私はこの1つの権利を置くために少しの助けが必要です。事前に多くの感謝。whileループで文字列を使用する(OR演算子)
#include <iostream>
#include <string>
int main()
{
std::cout << "Please enter the correct name(s): ";
std::string name = " ";
std::cin >> name;
while (name != "Alice" || name!= "Bob")
{
std::cout << "Please enter the correct name(s): ";
std::cin >> name;
}
if (name == "Alice")
std::cout << "Hi Alice!" << std::endl;
if (name == "Bob")
std::cout << "Hi Bob!" << std::endl;
}
あなたは&& - と意味します。 –
真剣に、これは基本的なロジックです。コンピュータをシャットダウンして、人間の言語でlogic_を紙の上に書いてください。それは理にかなっていますか?もしそうなら、それをC++に翻訳してみてください。 – ForceBru
'name!=" Alice "|| name!= "Bob"は一度に名前を2つにすることはできないので、常に真です。名前が「Alice」と「Bob」の両方に等しい場合は、偽になる可能性があります。論理を通じて考えると理にかなっています。 – Carcigenicate