問題ステートメント
C プログラムでは、ユーザー入力が整数であることを確認することが重要です特に数学的演算を実行する場合、予期された形式になっています。この記事では、ユーザーが提供した入力が整数であるかどうかを判断する方法について説明します。入力が整数でない場合、プログラムはユーザーに有効な整数を再入力するよう求めます。
解決策
ユーザー入力を検証するには、主に 2 つの方法があります。整数として:
1。 cin.fail() の使用:
2。 std::getline と文字列操作の使用:
実装
以下は、std::getline と文字列操作のアプローチを実装するコード スニペットです。
#include <iostream> #include <string> int main() { std::string theInput; int inputAsInt; std::getline(std::cin, theInput); while(std::cin.fail() || std::cin.eof() || theInput.find_first_not_of("0123456789") != std::string::npos) { std::cout << "Error" << std::endl; if( theInput.find_first_not_of("0123456789") == std::string::npos) { std::cin.clear(); std::cin.ignore(256,'\n'); } std::getline(std::cin, theInput); } std::string::size_type st; inputAsInt = std::stoi(theInput,&st); std::cout << inputAsInt << std::endl; return 0; }
このコードは、有効な整数が入力されるまで、ユーザーに整数の入力を求め続けます。ユーザーが数字以外の文字を入力したり、空の入力を行ったりする状況を処理します。
以上がC で整数のユーザー入力を効果的に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。