Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Manipolazione di una data senza uso di librerie
Forum - C/C++ - Manipolazione di una data senza uso di librerie

Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 11:38
Mercoledì, 12/03/2014
Ciao a tutti, il mio problema è molto semplice da spiegare.. ma da realizzare un po' meno :rofl:
Dunque consiste che data una data qualunque (valida) vi si aggiungano un tot di giorni e deve ritornare la nuova data modificata (attenendosi alle regole del fine mese, anno bisestile e fine anno).
Ho gia' risolto il caso in cui il numero di giorni è minore o uguale al numero di giorni totali dello stesso mese. Quello che non capisco è il caso in cui il numero di giorni supera uno o piu' mesi o addirittura di anni.
Aiutatemi :hail:



P.S. non devo far appoggio a nessuna libreria ctime ecc ma solo ragionando sul giorno, mese e anno :_doubt:

Ultima modifica effettuata da bububs il 12/03/2014 alle 11:39
PM Quote
Avatar
Poggi Marco (Member)
Guru


Messaggi: 969
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 14:27
Mercoledì, 12/03/2014
Ciao!
Il problema ha molte soluzioni diverse.
Io, ad esempio, implemetterei una funzione che calcoli il numero di giorni per ogni mese, quindi procederei a sommare, o sottrarre, i giorni.

PM Quote
Avatar
bububs (Normal User)
Expert


Messaggi: 253
Iscritto: 11/03/2010

Segnala al moderatore
Postato alle 13:23
Giovedì, 13/03/2014
Grazie mille :)
Ho risolto proprio come hai mi hai suggerito, ovvero avanzando giorno per giorno dentro un ciclo while dove si verifica che si sia raggiunto il numero "di spostamenti" :k:

PM Quote
Avatar
TheDarkJuster (Member)
Guru^2


Messaggi: 1620
Iscritto: 27/09/2013

Segnala al moderatore
Postato alle 16:50
Giovedì, 13/03/2014
puoi anche "spezzare" i giorni in giorni/mesi/anni purchè ti ricordi che quando un anno è bisestile devi togliere un giorno

PM Quote