编写一个程序,要求用户输入以小时,分钟和秒为单位的持续时间,然后以十进制格式显示以秒为单位的时间。一小时有60分钟,一分钟有60秒。将一小时内的这些分钟数和一分钟内的秒数表示为程序中的常量。您应该为每个输入值使用单独的变量。
请确保分钟和秒数小于或等于59.如果用户输入超过59或负数,则应要求他重新输入信息。
对此问题感到抱歉。我是C ++的初学者,试图阅读一些书籍并自己回答问题,但我坚持这个问题。我不认为我会去任何地方。
答案 0 :(得分:0)
提示:当一个值有效时,如何循环并将其中断。
答案 1 :(得分:-1)
试试这个:
while (true)
{
cout << "Enter hours, minutes and seconds." << endl;
cout << "hours:";
cin >> hour;
if (hour < 0 || hour > 23)
{
cout << "Error: hours should be in between [0..23]" << endl;
continue;
}
cout << "minutes:";
cin >> min;
if (min < 0 || min > 59)
{
cout << "Error: minutes should be in between [0..59]" << endl;
continue;
}
cout << "seconds:";
cin >> sec;
if (sec < 0 || sec > 59)
{
cout << "Error: seconds should be in between [0..59]" << endl;
continue;
}
// now all the data should be verified already
break;
}
cout << "Total seconds: " << (sec + min*60 + hour*60*60) << endl;