0

ユーザーに入力を求めていますが、入力が許可された入力のいずれかを満たすまで、質問を画面に表示したままにします。これが私のコードです

string input = "";
string departure = "";

cout << "Please enter an airport code: ";

do 
{
    getline(cin,input);
    stringstream(input) >> departure;

} while(departure.compare("MAN") != 0 || departure.compare("EMA") != 0 || departure.compare("LHR") != 0 );
}

ユーザーがMAN、EMA、またはLHRに入るまでループさせたい。また、小文字の場合も同様に受け入れたいと思います。

これを実行するたびに、正しい入力を入力しても、単語を取り込み続け、他に何もしません。

4

5 に答える 5

1

|| の代わりに && が必要です。あなたの状態で。

一度に 3 つすべてになることはできないため、この条件は常に true を返します。

&& は、入力が受け入れられる 3 つのうちの 1 つになるとすぐに false を返します。

于 2013-05-15T14:58:02.347 に答える