私は C++ クラスの宿題をやっていますが、C++ は初めてです。if ステートメントでいくつかの問題に遭遇しました... 私がやっていることは、ユーザーに 0.00 から 23.59 までの時間を入力させることです。: はピリオドに置き換えられます。その部分は機能します。次に、時と分を分けて、それらが有効な拘束状態にあることを確認します。時間のチェックは機能しますが、分は機能しません...私のコードは次のとおりです。
minute= startTime - static_cast<int>(startTime);
hour= static_cast<int>(startTime);
//check validity
if (minute > 0.59) {
cout << "ERROR! ENTERED INVALID TIME! SHUTTING DOWN..." << endl;;
return(0);
}
if (hour > 23) {
cout << "ERROR! ENTERED INVALID TIME! SHUTTING DOWN..." << endl;;
return(0);
}
繰り返しますが、23 を入力すると時間は機能しますが、23.59 を入力するとエラーが発生しますが、23.01 を入力するとエラーが発生しません。また、0.59 を入力するとエラーが発生しますが、0.58 は発生しません。に切り替えてみif(minute > 0.59)
ましたif(minute > 0.6)
が、何らかの理由で他の場所で問題が発生しました。私は何をすべきかについて完全に途方に暮れているので、どんな助けも素晴らしいでしょう! どうもありがとう!
編集: 0.58を入力したところ、エラーは表示されませんでした...しかし、1.59にすると、再びエラーが表示されます...また、賛成票がいいでしょう:D