Como fazer uma função em linguagem C que recebe por parâmetro o tempo de duração de uma fábrica expressa em horas, minutos e segundos e retorna o mesmo tempo em segundos.
Soluções para a tarefa
Resposta:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int converter_tempo(int horas, int min, int seg)
{
//CRIAR E INICIALIZAR VAR LOCAL
int seg_tot = 0;
//CONVERTER TEMPO TOTAL EM SEGUNDOS
seg_tot = horas * 3600;
seg_tot = seg_tot + min * 60;
seg_tot = seg_tot + seg;
//RETORNAR VALOR CONVERTIDO
return seg_tot;
}
int main()
{
//CRIAR VARS
int horas, min, seg, seg_total;
//INICIALIZAR VARS
horas = min = seg = seg_total = 0;
//PROCESSAR DADOS
setlocale(LC_ALL,"PORTUGUESE");
printf("\n\n\t======================");
printf("\n\t|| TEMPO DE DURAÇÃO ||");
printf("\n\t======================");
printf("\n\n\n INFORME O TEMPO DE DURAÇÃO DA FÁBRICA:\n");
//RECEBER E VALIDAR QUANTIDADE DE HORAS
printf("\n\n HORAS...: ");
fflush(stdin);
scanf("%d", &horas);
while(horas < 0)
{
printf("\n\n VALOR DE HORAS INVÁLIDO...");
printf("\n\n\n INFORME NOVAMENTE O VALOR DE HORAS..: ");
fflush(stdin);
scanf("%d", &horas);
}
//RECEBER E VALIDAR QUANTIDADE DE MINUTOS
printf("\n\n MINUTOS.: ");
fflush(stdin);
scanf("%d", &min);
while(min < 0)
{
printf("\n\n VALOR DE MINUTOS INVÁLIDO...");
printf("\n\n\n INFORME NOVAMENTE O VALOR DE MINUTOS..: ");
fflush(stdin);
scanf("%d", &min);
}
//RECEBER E VALIDAR QUANTIDADE DE MINUTOS
printf("\n\n SEGUNDOS: ");
fflush(stdin);
scanf("%d", &seg);
while(seg < 0)
{
printf("\n\n VALOR DE SEGUNDOS INVÁLIDO...");
printf("\n\n\n INFORME NOVAMENTE O VALOR DE SEGUNDOS..: ");
fflush(stdin);
scanf("%d", &seg);
}
//CHAMAR FUNÇÃO PARA CONVERTER O TEMPO TOTAL EM SEGUNDOS
seg_total = converter_tempo(horas,min,seg);
//EXIBIR VALOR CONVERTIDO
printf("\n\n TEMPO DE DURAÇÃO DA FÁBRICA EM SEGUNDOS...: %d\n\n",seg_total);
return 0;
}
Abraços e bons estudos!