Написать класс Date, содержащий три поля: денек, месяц, год. С помощью
Написать класс Date, содержащий три поля: день, месяц, год. С поддержкою функций осуществить:
1) Проверку года на високосность
2) Увеличить дату на 5 дней
Держи, PHP:
class Date
private денек;
private месяц;
private год;
function __construct()
сейчас = new DateTime();
this-gt;денек = сейчас-gt;format('d');
this-gt;месяц = сегодня-gt;format('m');
this-gt;год = сейчас-gt;format('Y');
public function Получить_год() return this-gt;год;
public function Получить_месяц() return this-gt;месяц;
public function Получить_денек() return this-gt;денек;
public function Високосный_год()
return this-gt;год % 4 == 0 amp;amp; (this-gt;год % 100 != 0 this-gt;год % 400 == 0);
public function Плюс_5_дней()
дата = new DateTime(strtotime(this-gt;год . '-' . sprintf('%02d', this-gt;месяц) . '-' . sprintf('%02d', this-gt;день)) + 60 * 60 * 24 * 5);
this-gt;денек = дата-gt;format('d');
this-gt;месяц = дата-gt;format('m');
this-gt;год = дата-gt;format('Y');
дата = new Date();
echo дата-gt;Високосный() ? 'Високосный' : 'Не високосный';
дата-gt;Плюс_5_дней();
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.yyyy')
end.
Пример
Введите денек, месяц и год: 9 11 2018
Год не високосный
Новая дата 14.11.2018
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Физика.
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.