注册 登录
编程论坛 C++教室

求输入一个时间后 再输入一个时间 求这个时间后的时刻是什么?

a308044203 发布于 2013-03-28 23:53, 510 次点击
#include <iostream>
using namespace std;
struct shijian
{
    int s,f,m;
};
shijian pd(shijian t1,shijian t2)
{
    shijian i;
    i.s=t1.m+t2.m;
    //i.s=i.s%60;
    i.f=(t1.f+t2.f+(t1.m+t2.m)/60)%60;
    i.s=(t1.s+t2.s+(t1.f+t2.f)/60)%24;
    return i;
}
int main()
{
    shijian t1,t2,t;
    cout<<"请输入一个时间(按时分秒输入):";
    cin>>t1.s>>t1.f>>t1.m;
    cout<<"请输入您想知道那个时间后的时刻(按时分秒输入):";
    cin>>t2.s>>t2.f>>t2.m;
    t=pd(t1,t2);
    cout<<t.s<<":"<<t.f<<":"<<t.m<<endl;
    return 0;
}


为什么会错呢      就是秒发生错误
1 回复
#2
shmilyflf2013-03-29 00:09
#include <iostream>
 using namespace std;
 struct shijian
 {
     int s,f,m;
 };
 shijian pd(shijian t1,shijian t2)
{
     shijian i;
     i.m=(t1.m+t2.m)%60;//这里应该是i.m!并且要对60取余,因为秒不能超过59
     i.f=(t1.f+t2.f+(t1.m+t2.m)/60)%60;
     i.s=(t1.s+t2.s+(t1.f+t2.f)/60)%24;
     return i;
 }
 int main()
 {
     shijian t1,t2,t;
     cout<<"请输入一个时间(按时分秒输入):";
     cin>>t1.s>>t1.f>>t1.m;
     cout<<"请输入您想知道那个时间后的时刻(按时分秒输入):";
     cin>>t2.s>>t2.f>>t2.m;
     t=pd(t1,t2);
     cout<<t.s<<":"<<t.f<<":"<<t.m<<endl;
     return 0;
}
1