【问题描述】
定义一个时间类CTime,分钟和秒钟是其两个私有成员数据。输入一个起始时间和一个结束时间(起始时间早于结束时间),通过运算符重载-(减号),计算这两个时间相隔多少秒钟。说明:这两个时间在同一小时之内,且采用60分钟60秒钟的计时分式,即从00:00-59:59。
【输入形式】
测试输入包含若干测试用例,每个测试用例占一行。每个测试用例包括四个数,每个数之间用空格间隔,每个数都由两位数字组成,第一个数和第二个数分别表示起始时间的分钟和秒钟,第三个数和第四个数分别表示结束时间的分钟和秒钟。当读入一个测试用例是00 00 00 00时输入结束,相应的结果不要输出。
【输出形式】
对每个测试用例输出一行。输出一个数即可,表示两者之间间隔的秒钟数。
【样例输入】
12 11 12 58
00 13 16 00
09 07 23 59
00 00 00 00
【样例输出】
47
947
892
【样例说明】
【评分标准】
#include <iostream>
using namespace std;
#define N 100
class CTime
{
public:
void input()
{
cin>>minute>>second;
}
bool beZero()
{
if(minute==0&&second==0)
return true;
else
return false;
};
int operator-(CTime &p1, CTime &p2)
{
int t;
t=(p1.minute-p2.minute)*60+p1.second-p2.second;
return t;
}
private:
int minute;
int second;
};
int main()
{
CTime time[N];
int count=-1;
do
{
count++;
time[2*count].input();
time[2*count+1].input();
}while(!(time[2*count].beZero()&&time[2*count+1].beZero()));
for(int i=0;i<count;i++)
{
cout<<time[2*i+1]-time[2*i]<<endl;
}
return 0;
}