Ir para conteúdo

Bunitao

Membros
  • Postagens

    1
  • Registro em

  • Última visita

Conquistas de Bunitao

0

Reputação

  1. Bom Dia estou com o seguinte problema abaixo: Faça com que horários (registro horário) possam ser lidos com cin, exibidos com cout e subtraídos com o operador de subtração, operator-(). O resultado da subtração deve ser um valor representando a diferença em minutos. Para simplificar, considere que os horários estão sempre dentro de um mesmo dia. meu codigo ficou assim: #include<iostream> using namespace std; struct horario { int hora; int minuto; }; istream& operator>>(istream&, horario&); ostream& operator<<(ostream&, horario); horario operator-(horario, horario); int main() { horario h1, h2; cin >> h1; cin >> h2; cout << (h1 - h2); } istream & operator>>(istream & is, horario& tempo){ char ponto =':'; is >> tempo.hora; is >> ponto; is >> tempo.minuto; return is; } ostream & operator<<(ostream & os, horario tempo) { os << tempo.hora; os << tempo.minuto; return os; } horario operator-(horario h1, horario h2){ horario tempo; tempo.hora = (h2.hora - h1.hora) * 60; tempo.minuto = h2.minuto - h1.minuto; tempo.minuto += tempo.hora; tempo.hora = 0; return tempo; } mas não consigo chegar na saida que o problema pede, por exemplo 09:30 às 09:45 (15 min), minha saida fica 015 ao invés de 15 tambem ao mostrar os horarios, por exmplo 09:30, aparece 09:3 alguém poderia me ajudar? grato
×
×
  • Criar Novo...