Resta de tiempo de cálculo

Descripción del título: defina una clase de tiempo, las horas y los minutos son sus dos datos de miembros privados. Ingrese una hora de inicio y una hora de finalización (la hora de inicio es anterior a la hora de finalización) y use la sobrecarga del operador (signo menos) para calcular cuántos minutos entre estas dos veces. Nota: Estas dos horas son dentro del mismo día, y se usa la división de tiempo de 24 horas, que es de 00: 00-23: 59.

Formato de entrada: la entrada de prueba contiene varios casos de prueba, y cada caso de prueba ocupa una línea. Cada caso de prueba incluye cuatro números, separados por espacios, cada número está compuesto por dos dígitos, el primer número y el segundo número representan la hora y los minutos de la hora de inicio, el tercer número y el cuarto Los números representan las horas y minutos del tiempo final, respectivamente. Al leer un caso de prueba es 00 00 00 00, la entrada finaliza y el resultado correspondiente no se emite.

Formato de salida: genera una línea para cada caso de prueba. Simplemente envíe un número que indique la cantidad de minutos entre los dos.

Entrada de muestra:

12 11 12 58

00 13 16 00

09 07 23 59

00 00 00 00

Salida de muestra:

47

947

892

#include <iostream>

using namespace std;

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

    friend int operator-(Time, Time);

};

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


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));

}

Publicado 163 artículos originales · elogiado 18 · visitas 7683

Supongo que te gusta

Origin blog.csdn.net/xcdq_aaa/article/details/105448841
Recomendado
Clasificación