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; }


Rispondi quotando
