個人的に取り組んでいるプロジェクトがあります。機能するには、12 人のユーザーに対して 4 種類のデータの形式で、ユーザーから (比較的) 大量のデータを受け取る必要があります。そのため、次のような非常に長い一連のステートメントがあります。
cout << '\n' << "Monster A's name is: ";
cin >> nameA;
cout << '\n' << "Monster A rolled: ";
cin >> rollM_A;
cout << '\n' << "Monster A's Dex is: ";
cin >> DexA;
cout << '\n' << "Monster A's Mod is: ";
cin >> ModA;
cout << '\n' << "Monster A's Level is: ";
cin >> LvlA;
等
ただし、場合によっては、たとえば 5 ~ 6 または 1 ~ 2 など、12 体未満のモンスターのデータのみを入力する必要がある場合もあります。コマンドを使用して、キーストロークなどに基づいて入力セクションを残りのコードにスキップできるようにしたいと考えています。つまり、ユーザーが 5 匹のモンスターのデータを入力し、それで十分な場合は、バックスラッシュを押して残りの入力シーケンスをスキップできます。
私が話していることは意味がありますか/私が探していることを行うためのSTLコマンドはありますか? 現在、このプロセスはループされていませんが、ループ内にあると終了しやすくなりますか? 私はこのようなことをしようと考えていました:
while(cin.get() != '\') {
cout << '\n' << "Monster A's name is: ";
cin >> nameA;
//etc...
}
編集:上記の試みは構築されますが、目的のキーストロークを入力すると、データを受け入れずにユーザープロンプトをすばやく無限に出力します。何かアドバイス?私が望むのは、それが壊れて先に進むことだけです。switch ステートメントを効果的に使用できますか?
ありがとう!