Volevo fare un programma che mi trovasse i giorni passati dall'anno 0 fino ad oggi.
Tenendo conto anche degli anni bisestili.
Gli anni bisestili sono quelli divisibili per 4 ad eccezione di quelli che terminano con 00 (es. 1200, 1400 ecc...) che sono bisestili solamente se, prendendo le prime due cifre, esse sono divisibili per 4 (es. 1200 --> 12%4 = 0 --> è bisestile; 1400 --> 14%4 != 0 --> non è bisestile).

Ho scritto questo codice, secondo voi è giusto?

codice:
	#include <stdio.h>
                #include <stdlib.h>
                #include <string.h>
                #include <time.h>
 
                int main (void){

                int Giorno, Mese, Anno;

                //Ricavo data dal sistema
		time_t rawtime;
		time (&rawtime);
		struct tm* leggibile;
		
		leggibile = localtime(&rawtime);

		Giorno = leggibile->tm_mday;
		Mese = leggibile->tm_mon;
		Anno = leggibile->tm_year + 1900;	
		
		int NumeroAnno[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
		int Giorni1, x, GiorniMesi1;
		
		for(x = 0; x < Mese; x++)
			GiorniMesi1 += NumeroAnno[x];
		Giorni1 = (Anno-1)*365+GiorniMesi1+Giorno;
		
		int y;
		if(Mese > 2){
			for(y = 0; y <= Anno; y++){
				if(y % 100 == 0){
					if(y / 100 % 4 == 0)
						Giorni1 += 1;
				};
				if(y % 100 %4 == 0)
					Giorni1 += 1;
			};
		};
		if(Mese <= 2){
			for(y = 0; y < Anno; y++){
				if(y % 100 == 0){
					if(y / 100 % 4 == 0)
						Giorni1 += 1;
				};		
				if(y % 100 %4 == 0)
					Giorni1 += 1;
			};
		};

		printf("Dall'anno 0 ad oggi sono passati %d giorni\n", Giorni1); 
                }