Jump to content

Converter segundos em horas


Go to solution Solved by xplode_me,

Recommended Posts

Posted

Ola!

O meu router novo da-me o valor de tempo da ligaçao actual em segundos (enfim!).

Com este programinha rapido pretendo começar com as bases do C e ao mesmo tempo fazer algo util!

#include <stdio.h>
/* Converter o valor em segundos dado pelo router
    para um valor em horas! (Da mais jeito! ) */

int secondsToHours()
{
int seconds;
int hours;

scanf("%d", &seconds);		
hours = (seconds/3600);

printf("Já passaram, ");
printf("%d", hours);
printf(" horas desde o último reboot do router!\n"); 
return 0;
	}


float main()
	{
int seconds;

secondsToHours(seconds);
	}

A questao que se poe eh: Eu quero o valor das horas num formato "1.5 horas" ou seja, com 1 casa decimal.

Se puser os tipos como double fico com 6 dig de precisao o que nao quero... Please help me! 😉

🙂

Posted
#include <stdio.h>
/* Converter o valor em segundos dado pelo router
    para um valor em horas! (Da mais jeito! ) 
Changelog:
V1.0 - Versao inicial
V1.1 - Horas devolvidas no formato h.hh (2 casas decimais) */

float secondsToHours()
{
float seconds;
float hours;

scanf("%f", &seconds);		
hours = (seconds/3600);

printf("Já passaram, \n");
printf("%.2f", hours);
printf(" horas desde o último reboot do router!\n"); 
return 0;
	}


float main()
	{

secondsToHours();
	}

Já devolve o valor em h.hh 👍 Agora é so converter a parte decimal para minutos et voilá 🙂

Posted

Os minutos sao

1,5H = 1H.30Min

1H já está definida agora só falta definir o 0,5, visto que 1,5-1 = 0,5

0,5 de 60Min, que em Matemática se traduz :

0,5 x 60 = 30

Ou seja, o .hh = .hhx60

Que resulta em : h.hh, sendo igual a 1.30 -> 1Hora e 30Minutos

Isto é uma das variadas maneiras de fazeres isto, havia uma maneira para aí pelo fórum 😄

  • Solution
Posted

Nova versão, já faz aquilo a que me propus. Agora vou tratar de fazer isto comer com a variavel por argumento quando o executavel é chamado! 🙂

#include <stdio.h>
/* Converter o valor em segundos dado pelo router
    para um valor em horas! (Da mais jeito! ) 
Changelog:
V1.0 - Versao inicial
V1.1 - Horas devolvidas no formato h.hh (2 casas decimais)
V1.2 - Horas devolvidas no formato hh.mm */

float secondsToHours()
{
float seconds;
float hours;
float minutes;
scanf("%f", &seconds);		
hours = ((int)(seconds/3600));
minutes = ((((seconds/3600) - ((int)(seconds/3600)))*60));


printf("Já passaram, ");
printf("%.0f", hours);
printf(" horas e ");
printf("%.0f", minutes);
printf(" minutos desde o último reboot do router!\n");	
return 0;
	}


float main()
	{

secondsToHours();
	}

😁

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.