Определить дату следующего дня - Pascal ABC

Формулировка задачи:

Определить дату следующего дня

Код к задаче: «Определить дату следующего дня - Pascal ABC»

textual
Program nextday;
Var d,m,y,d1,m1,y1,v,h:integer;
Begin
Writeln('Эта программа вводит дату,следующую за введённой.');
Writeln('Введите дату в формате DD MM YYYY');
Readln(d,m,y);
v:=y mod 4;
If (m=4) or (m=6) or (m=9) or (m=11) then h:=0
Else h:=1;
If (y<0) then write('Ошибка ввода даты. Повторите ввод.')
Else if (m<0) or (m>12) then write('Ошибка ввода даты. Повторите ввод.')
Else if (d<0) or (d>31) then write('Ошибка ввода даты. Повторите ввод.')
Else if (h=0) and (d>30) then write('Ошибка ввода даты. Повторите ввод.')
Else if (m=2) and (v=0) and (d>29) then write('Ошибка ввода даты. Повторите ввод.')
Else if (m=2) and (v<>0) and (d>28) then write('Ошибка ввода даты. Повторите ввод.')
Else begin
If (d=31) and (m=12) then begin
  d1:=1; m1:=1; y1:=y+1; end
Else if (d=31) then begin
  d1:=1; m1:=m+1; y1:=y; end
Else if (d=30) and (h=0) then begin
  d1:=1; m1:=m+1; y1:=y; end
Else if (d=29) and (m=2) then begin
  d1:=1; m1:=3; y1:=y; end
Else if (d=28) and (m=2) and (v<>0) then begin
  d1:=1; m1:=3; y1:=y; end
Else begin
  d1:=d+1; m1:=m; y1:=y; end;
Write('За введённой датой ',d,'.',m,'.',y,' следует дата ',d1,'.',m1,'.',y1);
end;
End.
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

8   голосов, оценка 4.125 из 5


СДЕЛАЙТЕ РЕПОСТ