将秒转换为DD / MM / SS格式的程序

时间:2013-12-06 06:05:52

标签: c++ modulo

我知道你应该在提问时发布你已经开始的代码,但说实话,我完全迷失了。我正在读一本关于C ++的书来学习(我是自学),这本书是Sams C ++ Primer Plus。我最近刚刚完成了关于类型转换和类型转换的章节。好吧,我有兴趣尝试制作将秒转换为天/分/秒的程序。这是一个非常简单的应用程序。我可以完美地编写应用程序代码,但由于某种原因,数学运算让我感到困惑。我需要帮助,或至少启动变量等。感谢。

另外,我确信我应该在程序中的某个地方使用模数(在C ++模数中)。

程序的输出应该与此类似:

“输入秒数:SECONDS”

“SECONDS秒= 364天,46分40秒。

只要转换正确,输出中的实际值就无关紧要了。

2 个答案:

答案 0 :(得分:1)

const int SECSPERDAY=84600;
const int SECSPERHOUR=3600;
const int SECSPERMIN=60;

int days=SECONDS/SECSPERDAY;
int hours=(SECONDS-(days*SECSPERDAY))/SECSPERHOUR;
int mins=(SECONDS-(days*SECSPERDAY)-(hours*SECSPERHOUR))/SECSPERMIN;
int secs=SECONDS%SECSPERMIN;

答案 1 :(得分:0)

由于你的任务与类型转换和-casts有关,我建议学习结果是用整数除可以减少余数,你可以通过modulu操作得到余数。

因此你可以使用(给定SECONDS是输入)

int sec   = SECONDS % 60;
int min   = (SECONDS / 60) % 60;
int hours = (SECONDS / (60 * 60)) % 24;
int days  = (SECONDS / (60 * 60 * 24) % 365;
int years = (SECONDS / (60 * 60 * 24 * 365);

我没有使用常量来显示直接依赖性,即使这被认为是不好的做法。