私は今c++を使い始めていますが、今は無効な入力をキャッチするための最も一般的で最良の方法を知りたいと思っています。この広く開かれた質問への回答が欲しいのですが、より具体的な質問は次のとおりです。
ユーザーからの文字が欲しい。charが「y」の場合は繰り返され、「n」の場合はプログラムが閉じます。複数の文字を入力すると、文字と同じ回数繰り返されます。たとえば、「hello」と入力すると、出力が5回表示されます。各文字を読み取り、ループ全体を通過してから、次の文字を順番に読み取ると仮定します。どうすれば一度だけ表示させることができますか?
bool valid = 0;
while(valid)
{
...
bool secValid = 0;
while(secValid == 0)
{
cout << "To enter another taxable income type 'y': \n\n";
char repeat = NULL;
cin >> repeat;
if(repeat == 'y')
{
valid = 0;
secValid = 0;
system("cls");
}else if(repeat == 'n')
{
return;
}else
{
secValid = 1;
}
}
}