Вычисление даты следующего дня — Pascal(Паскаль)

program nextday;

var
     day:integer;
     month:integer;
     year:integer;

     last:boolean;{TRUE, если текущий день ■ последний день месяца }
     r:integer;   {если год високосный, то остаток от деления year 	             {на 4 равен нулю }
begin
     writeln;
     writeln('Задайте цифрами сегодняшнюю дату');
     write('(  число месяц год  )-> ');
     readln(day,month,year);
     last:=FALSE;
     case month of
         1,3,5,7,8,10,12:if day=31
                            then last:=TRUE;
         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;
      end;
      if last  
              then begin
              writeln('Последний день месяца!');
              day:=1;
              if month=12
                  then begin
                       month:=1;
                       year:=year + 1;
                       writeln('С наступающим Новым годом!');
                  end
                  else month:=month + 1;
      end
         else day:=day + 1;
      writeln('Завтра ',day,'.',month,'.',year );
end.

Leave a Comment

+ 17 = 27