xplode_me Posted March 28, 2006 at 09:26 AM Report #19789 Posted March 28, 2006 at 09:26 AM 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! 😉 🙂
UnKnowN Posted March 28, 2006 at 11:17 AM Report #19807 Posted March 28, 2006 at 11:17 AM pah em Python (que me dizem que é mt parecido com C) há uma funçao que escolhe o nº de casas decimais a utilizar printf("%.1d", hours); // para 0 espaços e 1 casa decimal 😄
xplode_me Posted March 28, 2006 at 12:10 PM Author Report #19812 Posted March 28, 2006 at 12:10 PM nhef... N dá 😄 Já me disseram pa fazer isso, e q funciona em C, mas ou tou a enterrar ou n ta a dar 🙂
xplode_me Posted March 28, 2006 at 12:23 PM Author Report #19815 Posted March 28, 2006 at 12:23 PM #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á 🙂
UnKnowN Posted March 28, 2006 at 12:53 PM Report #19817 Posted March 28, 2006 at 12:53 PM 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 xplode_me Posted March 28, 2006 at 01:30 PM Author Solution Report #19819 Posted March 28, 2006 at 01:30 PM 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(); } 😁
xplode_me Posted March 28, 2006 at 01:54 PM Author Report #19824 Posted March 28, 2006 at 01:54 PM Alguém me pode ajudar a fazer isto? Quero passar o valor dos segundos como argumento em vez de passar com o scanf.. Please help!
brink@ero Posted March 28, 2006 at 06:33 PM Report #19862 Posted March 28, 2006 at 06:33 PM Alguém me pode ajudar a fazer isto? Quero passar o valor dos segundos como argumento em vez de passar com o scanf.. Please help! Assim: float secondsToHours(float seconds) { .... }
xplode_me Posted March 28, 2006 at 08:18 PM Author Report #19873 Posted March 28, 2006 at 08:18 PM Ok. Esta parte ta feita, agora preciso duma ajuda a incluir o gtk e o C. Mas vou abrir outro topico porq o tema é diferente e pode interessar a mais pessoas!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now