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.
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
Pergunta
elvis presley
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
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.