分と秒で時間を引く

タイトル説明:時間クラスを定義します。分と秒は2つのプライベートメンバーデータです。開始時刻と終了時刻(開始時刻が終了時刻より前)を入力し、オペレーターのオーバーロード(マイナス記号)を使用して、これらの2つの時刻の間の秒数を計算します。注:これら2つの時間は同じ時間内にあり、60分、60秒の時分割が使用されます(00:00〜59:59)。

入力形式:テスト入力には複数のテストケースが含まれ、各テストケースは1行を占めます。各テストケースには4つの数値が含まれ、各数値はスペースで区切られています。各数値は2桁で構成され、最初の数値と2番目の数値は分と秒での開始時間を表し、3番目の数値は数値と4番目の数値は、終了時間をそれぞれ分と秒で表します。テストケースの読み込みが00 00 00 00の場合、入力は終了し、対応する結果は出力されません。

出力フォーマット:テストケースごとに1行を出力します。2つの間の秒数を示す数値を出力するだけです。

入力例:

12 11 12 58

00 13 16 00

09 07 23 59

00 00 00 00

出力例:

47

947

892

#include <iostream>

using namespace std;

class Time {
private:
    int minute;
    int second;
public:
    void set(int m, int s) {
        minute = m;
        second=s;
    }

    friend int operator-(Time, Time);

};

int operator-(Time t2, Time t1) {
    return (t2.minute - t1.minute) * 60 + t2.second - t1.second;
}


int main() {
    int a, b, c, d;
    Time t1, t2;
    cin >> a >> b >> c >> d;
    do {
        t1.set(a, b);
        t2.set(c, d);
        cout << (t2 - t1) << endl;
        cin >> a >> b >> c >> d;
    } while (!(a == 0 && b == 0 && c == 0 && d == 0));

}

163の元の記事を公開 18を賞賛 7683を訪問

おすすめ

転載: blog.csdn.net/xcdq_aaa/article/details/105448947