Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 30
  1. #1
    Utente di HTML.it L'avatar di sky_451
    Registrato dal
    Apr 2003
    Messaggi
    194

    [C] Funzioni per il tempo

    Salve,

    ho bisogno di un aiuto per l'utilizzo delle funzioni della libreria time.h. Nel mio programma devo tenere conto del tempo impiegato dall'utente per fare un input. Ho provato con la funzione time() salvando il tempo iniziale, quello finale e facendo la differenza con difftime(). Il problema è che, in questo modo, ottengo solamente il valore in secondi senza, però, alcun decimale. (es. 1.0000 e non 1.2345). Come posso risolvere?

    Grazie a tutti per l'aiuto.
    "There is no dark side of the moon really. Matter of fact it’s all dark."

  2. #2
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,346

    Re: [C] Funzioni per il tempo

    Originariamente inviato da sky_451
    Salve,

    ho bisogno di un aiuto per l'utilizzo delle funzioni della libreria time.h. Nel mio programma devo tenere conto del tempo impiegato dall'utente per fare un input. Ho provato con la funzione time() salvando il tempo iniziale, quello finale e facendo la differenza con difftime(). Il problema è che, in questo modo, ottengo solamente il valore in secondi senza, però, alcun decimale. (es. 1.0000 e non 1.2345). Come posso risolvere?

    Grazie a tutti per l'aiuto.
    difftime ritorna un double, quindi suppongo tu possa specificarne la precisione mediante un opportuno carattere di conversione su printf

  3. #3
    Utente di HTML.it L'avatar di sky_451
    Registrato dal
    Apr 2003
    Messaggi
    194
    Si torna un double. Il problema è che mi ritorna sempre un valore intero di secondi, anche se metto una precisione molto lunga.
    (es. 2.0000000000000000).
    "There is no dark side of the moon really. Matter of fact it’s all dark."

  4. #4
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,346
    Originariamente inviato da sky_451
    Si torna un double. Il problema è che mi ritorna sempre un valore intero di secondi, anche se metto una precisione molto lunga.
    (es. 2.0000000000000000).
    Svelato l'arcano... La "colpa" è di time, perchè restituisce il tempo espresso in secondi, percui evidentemente la differenza deve essere un numero intero. Purtroppo però non conosco alternative a time, percui lascio la palla

  5. #5
    Utente di HTML.it L'avatar di sky_451
    Registrato dal
    Apr 2003
    Messaggi
    194
    Grazie sei stato molto gentile. Intanto spero in qualche altra anima buona.
    "There is no dark side of the moon really. Matter of fact it’s all dark."

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    Difftime HA una precisione in secondi perchè time_t è un tipo che esprime un valore in secondi. Devi invece usare la funzione clock(), in questo modo:
    codice:
    clock_t start, elaps_time;
    start = clock();
    //Input
    elaps_time = (clock() - start) / CLK_TCK;
    //Ora elaps_time contiene il tempo impiegato in secondi con una precisione al millesimo
    Bye

    P.S.: Dimenticavo: clock() è una funzione di time e CLK_TCK è una costante di time. clock() restituisce i cicli di CPU trascorsi dall'inizio del processo. CLK_TCK esprime il rapporto cicli_cpu/secondi

  7. #7
    Utente di HTML.it L'avatar di sky_451
    Registrato dal
    Apr 2003
    Messaggi
    194
    Grazie provo subito come mi hai detto.

    "There is no dark side of the moon really. Matter of fact it’s all dark."

  8. #8
    Utente di HTML.it L'avatar di sky_451
    Registrato dal
    Apr 2003
    Messaggi
    194
    Scusa la domanda scema. Ma per stampare elapsetime? che carattere di conversione uso nel printf? O devo prima salvare il suo valore in una variabile double?
    "There is no dark side of the moon really. Matter of fact it’s all dark."

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    423
    Stampalo come double o come float.

  10. #10
    Utente di HTML.it L'avatar di sky_451
    Registrato dal
    Apr 2003
    Messaggi
    194
    ok mi sei stato di grande aiuto. grazie.

    "There is no dark side of the moon really. Matter of fact it’s all dark."

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2020 vBulletin Solutions, Inc. All rights reserved.