#include void sledeci_dan(int godina, int mesec, int dan); int ispravan(int godina, int mesec, int dan); int broj_dana(int godina, int mesec); int prestupna(int godina); int main(){ int g, m, d; /* ocekuje se na unosu format: dd.MM.gggg */ scanf("%d.%d.%d", &d,&m, &g); sledeci_dan(g,m,d); return 0; } void sledeci_dan(int godina, int mesec, int dan){ if(!ispravan(godina,mesec,dan)){ printf("Datum je neispravan\n"); return; } if(dan==broj_dana(godina,mesec)){ dan=1; if(mesec==12){ mesec=1; godina++; }else mesec++; }else dan++; printf("%d.%d.%d\n",dan,mesec,godina); } int ispravan(int godina, int mesec, int dan){ if(godina<1) return 0; if(mesec<1 || mesec>12) return 0; if(dan<1 || dan>broj_dana(godina,mesec)) return 0; return 1; } int broj_dana(int godina, int mesec){ int d; switch(mesec){ case 2: if(prestupna(godina)) d=29; else d=28; break; case 1: case 3: case 5: case 7: case 8: case 10: case 12: d = 31; break; default: d=30; } return d; } int prestupna(int godina){ if(godina<1) return -1; return godina%400==0 || (godina%4==0 && godina%100!=0); }