IDNLearner.com, seu guia para respostas confiáveis e precisas. Descubra uma ampla gama de tópicos e encontre respostas confiáveis dos membros especialistas de nossa comunidade.

Faça uma função que recebe, por parâmetro, o instante de inicio e o instante de
término de um jogo, ambos subdivididos em 2 valores distintos: horas (no formato
de 24 horas) e minutos. A função deve informar na tela a duração do jogo em horas
e minutos. Considere que a duração de um jogo é sempre inferior a 24 horas e que o
jogo pode começar em um dia e terminar no outro. Em seguida, faça um programa
para testar a função implementada.


Sagot :

Função para calcular a duração do jogo

#include <stdio.h>

void calcularDuracaoJogo(int horaInicio, int minutoInicio, int horaFim, int minutoFim, int *duracaoHoras, int *duracaoMinutos) {

   int inicioTotalMinutos = horaInicio * 60 + minutoInicio;

   int fimTotalMinutos = horaFim * 60 + minutoFim;

   int duracaoTotalMinutos;

   if (fimTotalMinutos >= inicioTotalMinutos) {

       duracaoTotalMinutos = fimTotalMinutos - inicioTotalMinutos;

   } else {

       duracaoTotalMinutos = (24 * 60 - inicioTotalMinutos) + fimTotalMinutos;

   }

   *duracaoHoras = duracaoTotalMinutos / 60;

   *duracaoMinutos = duracaoTotalMinutos % 60;

}

int main() {

   int horaInicio, minutoInicio, horaFim, minutoFim;

   int duracaoHoras, duracaoMinutos;

   printf("Digite a hora de inicio (24h): ");

   scanf("%d", &horaInicio);

   printf("Digite os minutos de inicio: ");

   scanf("%d", &minutoInicio);

   printf("Digite a hora de termino (24h): ");

   scanf("%d", &horaFim);

   printf("Digite os minutos de termino: ");

   scanf("%d", &minutoFim);

   calcularDuracaoJogo(horaInicio, minutoInicio, horaFim, minutoFim, &duracaoHoras, &duracaoMinutos);

   printf("A duração do jogo é de %d horas e %d minutos.\n", duracaoHoras, duracaoMinutos);

   return 0;

}

Explicação

Função calcularDuracaoJogo: Recebe as horas e minutos de início e término do jogo, além de ponteiros para armazenar a duração calculada em horas e minutos.

Cálculo dos minutos totais: Converte as horas e minutos de início e término em minutos totais desde o início do dia.

Cálculo da duração: Se o término é no mesmo dia ou no dia seguinte, calcula a diferença em minutos totais.

Conversão para horas e minutos: Converte a duração total em minutos para horas e minutos.

Função main: Lê os valores de entrada do usuário, chama a função de cálculo e exibe a duração do jogo.