Помогите пожалуйста.Паскаль авс используя дату текущего дня, вычислить следующую дату. Сначала с помощью инструкции case проверить ,является ли текущий день последним днём месяца.Затем проверить, является ли текущий месяц днём ...

Помогите пожалуйста.Паскаль авс используя дату текущего дня, вычислить следующую дату. Сначала с помощью инструкции case проверить ,является ли текущий день последним днём месяца.Затем проверить, является ли текущий месяц днём декабрем:если нет, то номер месяца увеличить на 1,если да то номер года,а номер месяца оставить равен 1 (учесть возможность ввода високосного года(если год/4=0,то год високосный))
Гость
Ответ(ы) на вопрос:
Гость
var   s,sd,sm,sy:string;   d,m,y,err:integer; begin   Write('Введите текущую дату в формате дд/мм/гггг или дд.мм.гггг: ');   Readln(s);   if Length(s)<>10 then Writeln('Неверный ввод')   else begin     sd:=s[1]+s[2]; Val(sd,d,err);     sm:=s[4]+s[5]; Val(sm,m,err);     sy:=Copy(s,7,4); Val(sy,y,err);     if err>0 then Writeln('Неверный ввод')     else begin       if d<28 then d:=d+1       else begin         case m of         1,3,5,7,8,10,12:           if d<31 then d:=d+1           else begin d:=1; m:=m+1 end;         2:           if (y mod 4)=0 then             if d=28 then d:=29             else begin d:=1; m:=3 end           else begin d:=1; m:=3 end;         else           if d<30 then d:=d+1           else begin d:=1; m:=m+1 end         end       end;       if m>12 then begin m:=1; y:=y+1 end;       Str(d,sd); if Length(sd)=1 then sd:='0'+sd;       Str(m,sm); if Length(sm)=1 then sm:='0'+sm;       Str(y,sy);       s:=sd+'.'+sm+'.'+sy;       Writeln('Завтра будет '+s)     end   end end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы