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