program DataSuccessiva;
var
g, m, a : integer;
quanti_dopo : integer;
i : integer;
procedure AvanzaUnGiorno (var giorno, mese, anno: integer);
function GiorniDelMese (mm, aa: integer): integer;
begin
case mm of
1,3,5,7,8,10,12 : GiorniDelMese := 31;
4,6,9,11 : GiorniDelMese := 30;
2 : if (aa mod 4 = 0) and (aa <> 1900) then
GiorniDelMese := 29
else
GiorniDelMese := 28
end
end;
begin
if giorno = GiorniDelMese(mese,anno) then
begin
giorno := 1;
if mese = 12 then
begin
mese := 1;
anno := anno + 1
end
else
mese := mese + 1
end
else
giorno := giorno + 1;
end;
begin
write('Data (giorno, mese, anno) ? ');
readln(g, m, a);
writeln;
write('Quanti giorni dopo ? ');
readln(quanti_dopo);
write(quanti_dopo, ' giorni successivi al',
g:3, '/', m:2, '/', a:4, ' e'' ');
for i:= 1 to quanti_dopo do
AvanzaUnGiorno(g, m, a);
writeln(g:2, '/', m:2, '/', a:4)
end.