哪位高手帮小弟我看看这个代码有关问题出在哪里了

谁帮我看看这个代码问题出在哪里了!
#include<iostream>
using namespace std;
const int days = 24;
const int hours = 60;
const int minutes = 60;
int main()
{
long day,hour,minute,seconds;
cout<<"输入秒:";
cin>>seconds;
  cout<<seconds<<"seconds = ";
minute = seconds/minutes;
seconds %= minutes;
hour = minute/hours;
minute %= hours;
day = hour/days;
hour %= hours;
cout<<day<<"天"<<hour<<"小时"<<minute<<"分钟"<<seconds<<"秒"<<endl;
return 0;
}



如果输入 90000秒 正确输出结果应该是 1 天 1 小时 0 分钟 0秒
我这个输出结果 是 1 天 25 小时 0 分钟 0秒!为什么?看了半天实在没看出来!求指教下!

------解决方案--------------------
hour %= days ;