Вычисление даты следующего дня (фрагмент)
Листинг 2.5. Вычисление даты следующего дня (фрагмент)
// вычисление даты следующего дня
var
day: integer; // день
month: integer; // месяц
year: integer; // гОД
last:boolean; // если день — последний день месяца,
// то last = True
r:integer; // если год не високосный, то остаток
// от деления year на 4 не равен нулю
begin
{ переменные day, month и year содержат сегодняшнюю дату }
last := False; // пусть день — не последний день месяца
case month of 4,6,9,11:
if day = 30 then last:= True; 2:
if day = 28 then begin
r:= year mod 4; if r <>
0 then last:= True;
end;
else: if day=31 then last:= True;
end; if last then
begin // последний день месяца day:= 1;
if month =12 then
begin // последний месяц
month:= 1;
year:= year + 1;
end
else month:= month + 1;
end
else day:= day + 1;
// переменные day, month и year // содержат завтрашнюю дату
end;