我正在为 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