ユーザーが入力した入力をテストしようとしているため、プログラムが中断できません。私が使用している行がある:入力が特定のタイプで特定の範囲にあるかどうかをチェック
while (check != 0){
cout << "Please enter a number 1 - 4 (area of: circle, rectangle, triangle or quit)" << endl;
cin >> response;
if ((isdigit(response)) && ((response >= 1) && (response <= 4))){
check = 0;
}
else{
cout << "You did not enter a valid digit (1 - 4)" << endl;
check = 1;
}
} // End of while loop
私は何をしようとしている、いくつかの理由のすべての値を入力する(特に整数)の数字でもあるかどうかを確認し、1と4の範囲内であり、私はこのメソッドを使用して無効と考えて入力します。私が探している希望の結果を得るために、私は何を変えるべきか、代わりに何をすべきですか? (したがって、入力が整数かどうか、そしてその整数が1から4(1と4を含む)の間であるかどうかをチェックする)。
あなたのアプローチで実際に何がうまくいかないのですか? –
'check'とは何ですか? '応答'とは何ですか?ストリームが[ブール式](http://en.cppreference.com/w/cpp/io/basic_ios/operator_bool)で使用され、成功したかどうかを確認できます。最後のビットは '応答'を 'int'として宣言し、if(!(cin >> response)||!is_between(response、1,4))'のようなことをすることを意味します。 –
'while(1)'というだけでなく、ユーザ入力が有効なときに 'break'文を使うのはなぜですか? –