Извини, что слишком большой код, но зато показывает любую дату. Со всеми нюансами. Даже если в июле и августе по 31 дню, а в феврале 28)
var a,b,c:integer;
d:string;
begin
write ('Введите сегодняшнее число '); readln (a);
write ('Введите номер месяца '); readln(d);
if (d='5') or (d='05') or (d='7') or (d='07') or (d='10') or (d='12') then
begin
if a<31 then<br> begin
b:=a-1;
c:=a+1;
if a<2 then <br> begin
writeln ('Вчера было ',30,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='4') or (d='04') or (d='6') or (d='06') or (d='9') or (d='09') or (d='11') then
begin
if a<30 then<br> begin
b:=a-1;
c:=a+1;
if a<2 then <br> begin
writeln ('Вчера было ',31,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='2') or (d='2') then
begin
if a<28 then<br> begin
b:=a-1;
c:=a+1;
if a<2 then <br> begin
writeln ('Вчера было ',31,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='3') or (d='03') then
begin
if a<31 then<br> begin
b:=a-1;
c:=a+1;
if a<2 then <br> begin
writeln ('Вчера было ',28,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='1') or (d='01') then
begin
if a<31 then<br> begin
b:=a-1;
c:=a+1;
if a<2 then <br> begin
writeln ('Вчера было ',31,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
if (d='8') or (d='08') then
begin
if a<31 then<br> begin
b:=a-1;
c:=a+1;
if a<2 then <br> begin
writeln ('Вчера было ',31,' число');
writeln ('Завтра будет ',c,' число');
end
else begin
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',c,' число');
end;
end
else begin
b:=a-1;
writeln ('Вчера было ',b,' число');
writeln ('Завтра будет ',1,' число');
end;
end;
end.