Ir ao conteúdo
  • Cadastre-se
kahrinyn

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

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É 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

Compartilhar este post


Link para o post
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 !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×