私はプログラミングに慣れていないので、私の次の質問はおそらくあなたのほとんどのために答えるのが簡単だろう。ここに行きます:C++:配列の内容とユーザー入力を比較するには?
- 私は定義済みの内容の文字列を持っています。
- 私はユーザーに何らかの入力を求めます。
- 入力が配列の要素の1つと同じかどうかを確認したいと思います。 3a。一致するものがあれば、その配列の「ブロック」をプリントアウトしたいと思います。 3b。一致するものがない場合は、ユーザーに一致するものがないことを通知したいと思います。
これまでのところ、私はポイント3aまで取得できましたが、それ以上はありませんでした。私に提案してもらえますか? はここで、これまでに私のコード(せ)です。残念ながら
string fixed_array[4] = {"apple", "orange", "banana", "kiwi"};
cout << "Please enter something:\n";
string user_input;
cin >> user_input;
for (int i=0; i!=4; i++) {
if (user_input == fixed_array[i]) {cout << "Fruit is in " << i << "\n";}
私は要求された果実は、アレイ内にない場合、私は「もし」の後に「他の」を追加しているかのように、ユーザに通知する方法がわかりませんプログラムは、配列要素との不一致があるたびに、「見つからない」というメッセージを自然に書き出します。
私はループの出口信号を考えていました(boolかもしれませんか?):ループ内で一致がある場合はtrue:一致しない場合はfalse:false次に、単純な 'if'ステートメントでこのboolを使用して、 'not found'メッセージを表示します。
このようにすることは可能ですか、それとも完全にオフですか?
ありがとうございます!配列を検索する
bool found = false;
string fixed_array[4] = {"apple", "orange", "banana", "kiwi"};
cout << "Please enter something:\n";
string user_input;
cin >> user_input;
for (int i=0; i!=4; i++) {
if (user_input == fixed_array[i]) {
cout << "Fruit is at index " << i << "\n";
found = true;
break; //So the loop ends at the current index. This is not needed though
}
}
if (!found)
{
std::cout << "Not Found!\n";
}
「break; –
フラグ(ブール変数)を使用します。ループを通過してフラグを設定せずに(アイテムを見つける)、あなたは知っていて、見つからなかったメッセージを印刷することができます。 – NathanOliver
@ Jean-FrançoisFabreどこにでも「休憩」を投げているのは間違いなく道のりです – deW1