ばかげた質問かもしれませんが、いくつか問題があります。恥ずかしいですが、どうすればいいのか本当にわかりません。整数として指定された 2 つの「時間」を加算および減算したいと考えています。
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{
// should be: 21:59:2
int rH, rM, rS;
int h1 = 12, m1 = 34, s1 = 56;
int h2 = 9, m2 = 24, s2 = 6;
if(h1 + h2 >= 24)
{
rH = abs(h2 + h1);
m1 += 60;
if(m1 + m2 >= 60)
{
rH = (m2 - m1);
}
}
else
{
rH = h1 + h2;
}
cout << rH << " " << rM << " " << rS << " " << "\n";
return 0;
}
上記を試しましたが、それ以上の方法がわかりません。date-time
オブジェクトを使用できません。
編集
減算、エラーがどこにあるのかわかりませんが、計算が間違っています:
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{
int rH, rM, rS;
int h1 = 12, m1 = 25, s1 = 29, h2 = 11, m2 = 12, s2 = 1;
int sum1, sum2, sum;
sum1 = (h1)*3600 + (m1)*60 + s1;
sum2 = (h2)*3600 + (m2)*60 + s2;
if(sum1 > sum2)
sum = sum1-sum2;
else
sum = sum2-sum1;
rS = sum %60;
sum = sum/60;
rM = sum % 60;
rH = sum/60;
std::cout << rH << " " << rM << " " << rS << " " << "\n";
return 0;
}