如何为此添加模数? (小时:分钟:秒)

时间:2016-03-15 00:29:31

标签: c++ time format modulus

这是我第一次访问此网站,因此,在某些方面,此问题的格式可能有误。话虽如此,这是我正在努力的练习。 "编写一个C ++程序,提示用户以秒为单位输入事件的已用时间。然后程序以小时,分钟和秒输出经过的时间。 (例如,如果经过的时间是9630秒,那么输出是2:40:30。)" 这是我到目前为止编写的代码:: Blocks -

#include <iostream>
#include <string>

using namespace std;

int main()
{
int seconds;
int hours;
int minutes;
int seconds1;
cout << "How long did the event take in seconds?" << endl;
cin >> seconds;

hours= seconds/3600;
minutes= %(seconds/3600);
seconds1= %(seconds/minutes);
cout << "The event took"<<hours<<":"<<minutes<<":"<<seconds1<<"." << endl;
cout << endl;

return 0;

}

我的主要问题是如何将模数运算添加到此程序中。我知道我需要包含它,因为变量之后有一个明显的余数:小时和分钟。

此程序通过编译器运行时会出现两个错误代码:

  

第16行)错误:在&#39;%&#39;之前预期的主要表达式令牌

     

第17行)错误:在&#39;%&#39;之前预期的主要表达令牌

1 个答案:

答案 0 :(得分:0)

minutes= %(seconds/3600);

赋值中mod,%运算符的语法是

minutes = value1 % value2; 

你的表达式中没有左手参数,这里是value1。

秒数1部分很简单,你只需要采用秒模60.

seconds1 = seconds % 60;

分钟部分你需要考虑一下。你可以用两种方式做到这一点。

  1. 你需要减去已经由小时值计算的秒数,然后除以60.不需要mod,或者更确切地说是手动mod。
  2. 使用mod。获取小时计算未计算的剩余时间% 3600,然后计算此分钟数。