Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2010, 18:25   #1
DiLLe
 
Регистрация: 11.04.2010
Сообщений: 9
По умолчанию Pascal ABC net

Определить правильность даты введеную с клавиатуры где числа с 1-31 дни с 1-12 месяц. Если введены 'не корректные данные' сообщить об этом.
DiLLe вне форума Ответить с цитированием
Старый 08.06.2010, 23:20   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
{*                    OPDATE.PAS 1.21                    *}
{*     Copyright (c) TurboPower Software 1988, 1992.     *}

  function IsLeapYear(Year : Integer) : Boolean;
    {-Return True if Year is a leap year}
  begin
    IsLeapYear := (Year mod 4 = 0) 
          and (Year mod 4000 <> 0) and
            ((Year mod 100 <> 0) or (Year mod 400 = 0));
  end;


  function DaysInMonth(Month, Year : Integer) : Integer;
    {-Return the number of days in the specified month of a given year}
  begin
    case Month of
      1, 3, 5, 7, 8, 10, 12 :
        DaysInMonth := 31;
      4, 6, 9, 11 :
        DaysInMonth := 30;
      2 :
        DaysInMonth := 28+Ord(IsLeapYear(Year));
    else
      DaysInMonth := 0;
    end;
  end;

var
  dd, mm, yyyy : integer;
begin
  WriteLn('Введите три числа: день месяц год: dd mm yyyy ');
  Readln(dd, mm, yyyy);
  if yyyy<1 then Writeln('Год введён неверно!')
  else
    if (mm<1) or (mm>12) then
        Writeln('Месяц введён неверно!')
    else
       if (dd<1) or (dd>DaysInMonth(mm, yyyy)) then
          Writeln('День введён неверно!')
       else
          WriteLn('Дата является корректной!')
   Readln;
end.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Turbo Pascal or Pascal ABC Ikram Паскаль, Turbo Pascal, PascalABC.NET 0 27.04.2010 13:44
Pascal ABC ArcaN0id Помощь студентам 8 07.12.2009 15:24
Pascal ABC .NET no4_sniper Паскаль, Turbo Pascal, PascalABC.NET 0 17.10.2009 00:21