以下のコードを改善したいと思います。 try-catch文を使って入力文字を検証したいと思います。ユーザーが無効な文字を入力すると、エラーメッセージが出力されます。Try-catchでC++の文字を検証する方法は?
私には2つの方法があります:showMenuとselectOperationです。
方法:
//Show Operations in menu
void showMenu()
{
cout << " Select an option: \n\n"
<< "1 = Register new customers \n"
<< "2 = Register new products \n"
<< "3 = Add Product Existence \n"
<< "4 = Register a new purchase \n"
<< "0 = Exit \n\n";
}
//Select an Operation from menu
int selectOperation()
{
int selectedOperation = 0;
do
{
showMenu();
cin >> selectedOperation;
if ((selectedOperation < 0) || (selectedOperation > 4))
{
cout << "\n You have selected an invalid option"
<< "...Try again \n";
system("pause");
system("cls");
}
} while ((selectedOperation < 0) || (selectedOperation > 4));
return selectedOperation;
}
私はこれをどのようにしたらよいでしょうか?
例外を使用してプログラムの通常のフローを制御しないでください。 –
try/catchは実際にそのようなことを意図していません。有効な文字を返すか、ユーザーに入力を促す関数を記述する必要があります。 –
あなたの質問は、車の運転方法を尋ねるようなものです。あなたはそれをすることができましたが、それは賢明ではなく、物事を不必要に困難にするでしょう。 –