|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Dec 2009
Messaggi: 284
|
[C++]Calcolo orario
Ciao a tutti,
in un esercizio devo calcolare quanto ci mette un treno a raggiungere la destinazione, quindi essendomi dati gli orari di partenza e di arrivo, qual'è il metodo più semplice per calcolare quanto ci mette il treno? C'è una funzione che lo fa in c++? Ad esempio: orario di partenza 22.33 orario di arrivo 02.44 Oppure: orario di partenza 16.45 orario di arrivo 19.21 Thanks ![]()
__________________
"L' amore è l'unica cosa che possiamo percepire che trascende il tempo e lo spazio." |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
Non capisco cosa centri il C++ in questo. Cioè, questo è un problema di logica, non di programmazione. |
|
![]() |
![]() |
![]() |
#3 | |
Member
Iscritto dal: Dec 2009
Messaggi: 284
|
Quote:
Inviato dal mio Galaxy Nexus con CM10
__________________
"L' amore è l'unica cosa che possiamo percepire che trascende il tempo e lo spazio." |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
Comunque no, per il C++ standard non esiste nulla di simile, quindi l'unica è o trovare una classe già fatta, o fartene una con le funzionalità precise che desideri, cosa che ti consiglio vivamente perchè se cerchi librerie per ogni minima cosa non impari mai davvero a programmare (e questa è una classe davvero banale, che avresti impiegato prima a fare che non a chiedere qui): e non lo dico con cattiveria, davvero ![]() |
|
![]() |
![]() |
![]() |
#5 | |
Member
Iscritto dal: Dec 2009
Messaggi: 284
|
Quote:
![]() ![]()
__________________
"L' amore è l'unica cosa che possiamo percepire che trascende il tempo e lo spazio." |
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Jul 2005
Città: Vicenza
Messaggi: 1570
|
Quote:
P.S: non vedo per quale motivo introdurre (parlando di C++) il concetto di Data/Orario e di differenze tra questi se non in ottica di classi. Però vabbè, ogni professore ha il suo approccio condivisibile o meno che sia. |
|
![]() |
![]() |
![]() |
#7 | |
Member
Iscritto dal: Dec 2009
Messaggi: 284
|
Quote:
Comunque sia, ho fatto così: ho dapprima trasformato ora di partenza e di arrivo in minuti, successivamente ho controllato se l'ora di arrivo è maggiore di ora di partenza: se lo è basta fare ora_arrivo-ora_partenza=Timpiegato se non lo è (quindi ora di partenza maggiore di ora di arrivo) ho sottratto ora_partenza a 1440 (minuti in una giornata) e sommato ora_arrivo, quindi (1440-ora_partenza)+ora_arrivo=Timpiegato applicandolo ai due esempi: treno 1 ora_partenza=22.33 ora_arrivo=02.44 trasformo in minuti ora_partenza=1353 ora_arrivo=164 ora_partenza>ora_arrivo ---> Timpiegato=(1440-1353)+164= 251 minuti treno 2 ora_partenza=16.45 ora_arrivo=19.21 ora_partenza=1005 ora_arrivo=1161 ora_arrivo>ora_partenza ---> Timpiegato=1161-1005=156 minuti Ci mette di meno il secondo treno ![]() Correggimi se ho sbagliato ![]()
__________________
"L' amore è l'unica cosa che possiamo percepire che trascende il tempo e lo spazio." Ultima modifica di Grein : 11-10-2012 alle 00:01. |
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
|
Sembra ok. Cmq ti consiglio di utilizzare la funzione time():
Codice:
#include <time.h> .... time_t tempo_attuale = time(NULL); In pratica, hai fatto piu' o meno la stessa cosa, ma questa funzione e' "storica" (i.e. esiste dalla notte dei tempi) e sicuramente funziona. Ci sono poi una serie di funzioni aggiuntive quali, per esempio, mktime() che ti permettono di passare da un formato piu' "leggibile" (giorno/mese/anno/ore/minuti/secondi) a questo e viceversa. Nel tuo caso, quindi, potresti passare dalle date nel tuo formato al conteggio dei secondi tramite la mktime(), e fare semplicemente la differenza fra interi (o utilizzare la difftime()). Quote:
__________________
In God we trust; all others bring data Ultima modifica di sottovento : 11-10-2012 alle 04:57. |
|
![]() |
![]() |
![]() |
#9 | |
Member
Iscritto dal: Dec 2009
Messaggi: 284
|
Quote:
![]()
__________________
"L' amore è l'unica cosa che possiamo percepire che trascende il tempo e lo spazio." |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:49.