Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Ragazzi il mio problema è calcolare il numero progressivo di un giorno(il fatto dell'anno bisestile non è un problema)...esempio
1 1 2010 ---> corrisponde al primo giorno dell anno
2 2 2010 ---> corrisponde 33esimo giorno dell anno
Ho pensato la seguente formula
if (mese==1) nprog=g; // nel caso di gennaio
else nprog=(30*(mese-1))+giorno; // il 30 l'ho messo dando x scontato che tutti i mesi abbiano 30 gg
il compito non è difficile... invece di mettere quella costante "30", dovresti mettere il vero numero di giorni di quel mese.
Potresti ad esempio creare un array di 12 interi, in cui memorizzi il numero di giorni per ogni mese (mettendo febbraio a 29 se l'anno è bisestile), e usare una formula che contenga ad esempio:
numeroGiorni[meseCorrente]
al posto della costante 30, che sicuramente è sbagliata!
Poi ci sono anche altre cose da aggiustare... ma lascerò a te il piacere di arrivarci autonomamente
Attento al calcolo dell'anno bisestile pero'... non e' solo ogni 4 anni.
Testo quotato
Un anno è bisestile se il suo numero è divisibile per 4, con l'eccezione che gli anni secolari (quelli divisibili per 100) sono bisestili solo se divisibili per 400.