В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
pustayai
pustayai
02.05.2022 12:31 •  Информатика

Написать класс date, содержащий три поля: день, месяц, год. с функций осуществить: 1) проверку года на високосность 2) увеличить дату на 5 дней

Показать ответ
Ответ:
rolleck
rolleck
09.10.2020 07:26

Держи, PHP:


class Date {

 private $день;

 private $месяц;

 private $год;


 function __construct() {

   $сегодня = new DateTime();

   $this->день = $сегодня->format('d');

   $this->месяц = $сегодня->format('m');

   $this->год = $сегодня->format('Y');

 }


 public function Получить_год() { return $this->год; }

 public function Получить_месяц() { return $this->месяц; }

 public function Получить_день() { return $this->день; }


 public function Високосный_год() {

   return $this->год % 4 == 0 && ($this->год % 100 != 0 || $this->год % 400 == 0);

 }


 public function Плюс_5_дней() {

   $дата = new DateTime(strtotime($this->год . '-' . sprintf('%02d', $this->месяц) . '-' . sprintf('%02d', $this->день)) + 60 * 60 * 24 * 5);

   $this->день = $дата->format('d');

   $this->месяц = $дата->format('m');

   $this->год = $дата->format('Y');

 }

}


$дата = new Date();

echo $дата->Високосный() ? 'Високосный' : 'Не високосный';

$дата->Плюс_5_дней();

0,0(0 оценок)
Ответ:
Maks2222222222
Maks2222222222
09.10.2020 07:26
PascalABC.NET 3.4.2, сборка 1859 от 08.11.2018Внимание! Если программа не работает, обновите версию!

type

 Date = class

 private

   Дата: System.DateTime;

 public

   день, месяц, год: integer;

   constructor(d, m, y: integer);

   begin

     try

       Дата := new System.DateTime(y, m, d);

       (день, месяц, год) := (d, m, y);

     except

       Println('Недопустимая дата');

       (день, месяц, год) := (1, 1, 0);

     end

   end;

   

   procedure ДобавитьДни(dd: integer);

   begin

     Дата := Дата.AddDays(dd);

     (день, месяц, год) := (Дата.Day, Дата.Month, Дата.Year)

   end;

   

   function ГодВисокосный: boolean;

   begin

     if год mod 400 = 0 then Result := True

     else

     if год mod 100 = 0 then Result := False

     else Result := год mod 4 = 0

   end;

 

 end;


begin

 var (d, m, y) := ReadInteger3('Введите день, месяц и год:');

 var dd := new Date(d, m, y);

 if dd.ГодВисокосный then Println('Год високосный')

 else Println('Год не високосный');

 dd.ДобавитьДни(5);

 Print('Новая дата', $'{dd.Дата:dd.MM.}')

end.

ПримерВведите день, месяц и год: 9 11 2018Год не високосный Новая дата 14.11.2018
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота