Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - Algoritmo per calcolare i giorni trascorsi a partire da un determinato anno >= a 0
Forum - C/C++ - Algoritmo per calcolare i giorni trascorsi a partire da un determinato anno >= a 0

Avatar
robrock80 (Normal User)
Pro


Messaggi: 143
Iscritto: 11/12/2006

Segnala al moderatore
Postato alle 19:48
Domenica, 21/03/2010
Ciao a tutti. Ho scritto il seguente algoritmo per calcolare i giorni trascorsi a partire da un anno di partenza e un anno di fine (entrambi inclusi) da passare alla funzione. A me sembra che funziona: mi potreste dire se riuscite a trovare qualche bug o comunque se si riesce ad ottimizzarlo?

Codice sorgente - presumibilmente C++

  1. int getDaysCountFromYearToYear(unsigned int startYear, unsigned int endYear) {
  2.         int leapYears = 0;
  3.         int     normalYears = 0;
  4.         if (startYear <= endYear) {
  5.                 while (startYear <= endYear) {
  6.                         if (!(startYear % 400 == 0
  7.                                         || (startYear % 4 == 0 && startYear % 100 != 0))) {
  8.                                 normalYears++;
  9.                         } else {
  10.                                 leapYears++;
  11.                         }
  12.                         startYear++;
  13.                 }
  14.         }
  15.         printf("Anni bisestili: %d\n", leapYears);
  16.         printf("Anni normali: %d\n", normalYears);
  17.         printf("Totale anni: %d\n", normalYears + leapYears);
  18.         return (normalYears * 365) + (leapYears * 366);
  19. }


Ultima modifica effettuata da robrock80 il 21/03/2010 alle 21:09


Nel mondo ci sono 10 tipi di persone: quelle che capiscono il binario e quelle che non lo capiscono
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 0:39
Lunedì, 22/03/2010

"nessuno" pensavo ti avesse fatto capire che questa NON è la strada giusta per quello che stai facendo...


Ingegnere Informatico
https://ldlagency.it
PM Quote