Ir ao conteúdo
  • Cadastre-se

Ajuda C - Calcule a soma de dois tempos registrados em horas e minutos.


kahrinyn
Ir à solução Resolvido por ScreenBlack,

Posts recomendados

Boa Tarde pessoal !
 
Eu estou estudando um pouco de C sozinha(em algumas listas que achei na net) e "travei" nesse dever.
 
Calcule a soma de dois tempos registrados em horas e minutos.
Dica: use o operador resto de divisão “%” e divisão inteira “/” (quando os operandos são inteiros).
Exemplos:
5h 40min + 10min = 5h 50min
5h 40min + 100min = 7h
5h 40min + 2h 30min = 8h 10min
 
____________________________________________________-
 
O que eu fiz:  http://ideone.com/JT4lP2
 
O que fiz foi apenas uma soma, mas não diz o tempo nem em horas e minutos. como eu poço fazer isso? Para que dê a saida igual a do dever.

 

Agradeço a todos.

Link para o comentário
Compartilhar em outros sites

  • Solução

É questão de raciocínio lógico.

Exemplo prático:

Se somarmos 40 minutos com 40 minutos, teremos 80 minutos, ou seja, valor superior a uma hora (60 minutos).

Então, executamos duas vezes a divisão de 80 por 60. A primeira divisão para obter a parte inteira e, na segunda, para obter a parte fracionada.

80 / 60 = 1 (quantidade de horas, portanto, soma-se com a quantidade de horas já existentes)80 % 60 = 20 (resultado da fração de hora, ou seja, minutos)Resultado: 1 hora e 20 minutos
Exemplo código:

    minutos_total = minutos_1 + minutos_2;    if ( minutos_total > 60 ) // Se total de minutos for superior a uma hora    {        horas_total = horas_total + (minutos_total / 60); // Armazenamos a quantidade de horas referente a quantidade de minutos        if ( (minutos_total % 60) > 0 ) // Se o resto da divisão for maior que zero, significa que ainda sobraram minutos            minutos_total = (minutos_total % 60);    }
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Noss eu nem pensei nisso .-.

 

É questão de raciocínio lógico.

Exemplo prático:
Se somarmos 40 minutos com 40 minutos, teremos 80 minutos, ou seja, valor superior a uma hora (60 minutos).
Então, executamos duas vezes a divisão de 80 por 60. A primeira divisão para obter a parte inteira e, na segunda, para obter a parte fracionada.

80 / 60 = 1 (quantidade de horas, portanto, soma-se com a quantidade de horas já existentes)80 % 60 = 20 (resultado da fração de hora, ou seja, minutos)Resultado: 1 hora e 20 minutos
Exemplo código:
    minutos_total = minutos_1 + minutos_2;    if ( minutos_total > 60 ) // Se total de minutos for superior a uma hora    {        horas_total = horas_total + (minutos_total / 60); // Armazenamos a quantidade de horas referente a quantidade de minutos        if ( (minutos_total % 60) > 0 ) // Se o resto da divisão for maior que zero, significa que ainda sobraram minutos            minutos_total = (minutos_total % 60);    }

 

Obrigada ScreenBlack !

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!