#include <stdio.h>
int giorniDelMese(int mm, int aa)
{
int giorni;
switch (mm) {
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
giorni = 31;
break;
case 4: case 6: case 9: case 11:
giorni = 30;
break;
case 2:
if (aa % 4 == 0 && aa != 1900)
giorni = 29;
else
giorni = 28;
break;
}
return giorni;
}
void avanzaUnGiorno(int *giorno, int *mese, int *anno)
{
if (*giorno == giorniDelMese(*mese, *anno)) {
*giorno = 1;
if (*mese == 12) {
*mese = 1;
(*anno)++;
}
else
(*mese)++;
}
else
(*giorno)++;
}
int main(void)
{
int g, m, a;
int quanti_dopo;
int i;
printf("Data (giorno, mese, anno) ? ");
scanf("%d%d%d", &g, &m, &a);
printf("Quanti giorni dopo ? ");
scanf("%d", &quanti_dopo);
printf("%d giorni successivi al %d/%d/%d e` ", quanti_dopo, g, m, a);
for (i = 1; i <= quanti_dopo; i++)
avanzaUnGiorno(&g, &m, &a);
printf("%d/%d/%d\n", g, m, a);
return 0;
}