ciao a tutti...qualche anima pia potrebbe farmi capire per quale motivo mi stampa tutte le date per bene tranne il bisestile...grazie mille per la risposta
codice:
#include <stdio.h>
int main()
{
int gg, mm, aaaa;
char *mese[12] = {"Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"};
int bis=((aaaa % 4 == 0 && aaaa % 100 != 0) || aaaa % 400 == 0);
printf("Inserire una data: ");
scanf("%d/%d/%d", &gg, &mm, &aaaa);
while(1){
if((mm==2 && gg>28) || (mm==4,6,9,11 && gg>30) || (mm==1,3,5,7,8,10,12 && gg>31) || (mm==2 && gg==29 && aaaa!=bis)){
printf("Data errata!!!\nInserire nuova data:");
scanf("%d/%d/%d", &gg, &mm, &aaaa);
}
else{
printf("%d %s %d", gg, mese[mm-1], aaaa);
break;
}
}
return 0;
}