C++ 秒分钟小时时为 0.
C++ Seconds Minutes Hours when 0
我是一个编程初学者,学习C++。
我有一些代码可以在几小时分钟和秒内给出输出。喜欢:
x hours y minutes z seconds
我想要的是,当x, y or z
等于0
时,不要显示它,所以:
30hours 0minutes 5seconds
会变成:
30hours 5seconds
.
我可以通过使用大量的 if 条件来做到这一点,但它变得非常混乱。如果有其他方法,请告诉我,因为我真的很想学习正确的方法
提前致谢
--编辑--这是我的实际代码
if (hours == 0 && mins == 0 && secs != 0) {
cout << secs << "secs " << endl;
}
if (hours == 0 && mins != 0 && secs == 0) {
cout << mins << "mins " << endl;
}
if (hours != 0 && mins == 0 && secs == 0) {
cout << hours << "hours " << endl;
}
if (hours == 0 && mins != 0 && secs != 0) {
cout << mins << "mins " << secs << "secs " << endl;
}
if (hours != 0 && mins == 0 && secs != 0) {
cout << hours << "hours " << secs << "secs " << endl;
}
if (hours != 0 && mins != 0 && secs == 0) {
cout << hours << "hours " << mins << "mins " << endl;
}
if (hours != 0 && mins != 0 && secs != 0) {
cout << hours << "hours " << mins << "mins " << secs << "secs " << endl;
}
这有效,但我不认为这是实际程序员的做法。
这是秒到小时分钟秒转换器
void readabletime(const double a){
hours = a / 3600;
mins = (a/60 - hours * 60);
secs = (a - ((hours * 3600) + (mins * 60)));
---更新----我想到了一种更简单的方法来使用 3 个条件来做到这一点
if (hours != 0) {
cout << hours << "hours";
}
if (mins != 0) {
cout << mins << "mins"
}
if (secs != 0) {
cout << secs << "secs"
}
尝试这样的事情:
if (hours > 0)
cout << hours << "hours ";
if (minutes > 0)
cout << minutes << "minutes ";
if (seconds > 0)
cout << seconds << "seconds ";
cout << endl;
该代码应该执行您想要的操作,只有 3 个条件。如果所有值都为零,则仅打印一个新行。
相关文章:
- 将秒转换为小时、分钟、秒.百分之一秒
- 以C++为单位将毫秒转换为小时:分钟:秒:毫秒
- 仅将纪元字符串保存到 mysql 日期时间年/月/日,但没有小时分钟秒
- 将时间转换为小时、分钟和秒
- QTimeEdit 当分钟递增时如何递增到下一个小时
- 解析日期字符串以从时间戳中删除小时、分钟和秒
- 将几秒钟转换为几天,小时,分钟,秒格式(C )
- 从STD :: String Boost C 获取小时和几分钟
- 将42010958毫秒到小时的最干净的方法是什么:分钟:QT中的秒
- 将年龄在几年,小时,几分钟和秒的时间内转换
- C++从字符串中获取小时和分钟
- 使用boost::chrono,如何从单独的年、月、日、小时、分钟、秒计算自epoch UTC以来的毫秒
- C++ 秒分钟小时时为 0.
- 如何为此添加模量?(小时:分钟:秒)
- 要求分钟,小时,上午和下午的程序
- 将十进制时间转换为小时和分钟,以便以C++显示
- C++ 自纪元以来给定小时和分钟的秒数
- 使用chrono::time_point获取当前小时和分钟数
- 将秒转换为小时以及分钟和秒
- 小时,分钟,秒到Time_t