我是学习C++的编程初学者。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条件来做到这一点”_我认为两个应该是足够的。 –
是三个实际变量中的时间还是它在tm结构中? –