Ir para conteúdo
Fórum Script Brasil
  • 0

operadores ostream e istream


elvis presley

Pergunta

Bom Dia , estou tentando resolver este problema aqui 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 código 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;

}

 

So que não consigo chegar no padrão de saida que o programa pede  (15 mim) mas o meu sai com 015 e tambem ao mostrar os horarios eu não consigo mostrar com todas as casas decimais por exempl 12:30, fica 12:3

 

alguém poderia me ajudar

grato

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...