一道简单的C++编程,定义时间类,计算两个时间之间相差的间隔。

假如有2个时间t1-1:34:4(即1点34分四秒,下同。),t2-2:31:2,按照题意,两个时间做差后输出所差几小时几分几秒,我现在的大体思路是,先把两个时间换算成秒... 假如有2个时间t1-1:34:4(即1点34分四秒,下同。),t2-2:31:2,
按照题意,两个时间做差后输出所差几小时几分几秒,
我现在的大体思路是,先把两个时间换算成秒,然后做差,然后转换,最后输出一下,但是貌似不知道该如何下手。
我应该怎么来做。
展开
 我来答
liming_2080
2012-10-23 · 超过14用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:33.2万
展开全部
要不要考虑天数?允许出现今天3点和明天3点这么大的时间差么?其实不用转换成秒,假如同一天两个时间分别为8:20和17:10 直接先用

int a1THour,a1TMin;
int a2THour,a2TMIn;
int deltaTHour;deltaTMin;
a1THour=8;
a1TMin=20;
a2THour=17;
a2TMin=10;

deltaTHour = a2THour-a1THour;
if(a2TMin>a1TMin)
{
deltTMin = a2TMin-a1TMin;
}
else
{ //分钟借1个小时再减
deltTMin =a2TMin+60-a1TMin;
DeltaTHour--;
}

如果有天数,要最先判断天数,思路也一样,小时不够就借一天,就是加24小时再做减法,
希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
040740128
推荐于2016-11-20 · TA获得超过1531个赞
知道小有建树答主
回答量:552
采纳率:0%
帮助的人:243万
展开全部
#include<iostream.h>
class classTime
{
public:
classTime(){h=0,m=0,s=0;}
classTime(int x,int y,int z){h=x,m=y,s=z;}
friend void dTime(classTime &t1,classTime &t2);
friend int transeTime(classTime &t);
private:
int h,m,s;
};

void dTime(classTime &t1,classTime &t2)
{
int delta=transeTime(t2)-transeTime(t1);
int hh,mm,ss;
hh=delta/3600;
mm=delta%3600/60;
ss=delta%3600%60;
cout<<hh<<":"<<mm<<":"<<ss<<endl;
}

int transeTime(classTime &t)
{
return t.h*60*60+t.m*60+t.s;
}

void main()
{
classTime t1(1,34,4);
classTime t2(2,31,2);
dTime(t1,t2);
}
追问
大哥,能不能用两个类完成,就是类的复合(组合)
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式