これは最初は奇妙な質問のように思えるかもしれませんが、cin
リクエストが行われたときに、間違ったタイプを受け取った場合でも続行されますが、ステータスはcin
変更されます。
OKになるまでループするにはどうすればよいですかcin
。たとえば、数値を要求したときに、ループなどの追加のコードが指定されていない場合、文字列を「受け入れる」のでしょうか。
最後にcin
、連続して複数回使用すると、最初cin
は期待どおりに実行され、その後はスキップされます。これを修正するにはどうすればよいですか?さらに詳しい情報が必要な場合は、コメントで質問してください。
// Example
cout << "Enter a number: ";
cin >> num; // A string is given
cout << "Enter another number: ";
cin >> num2;
上記の例では、文字列はちょっと受け入れられ、2番目のcinは何らかの理由でスキップする可能性があります。しばらく前にこの質問の答えを見つけましたが、使用したループのスニペットを失いました:/