Дан массив записей, представляющий собой календарь(число,месяц,год) Описать функцию, вычисляющую количество дней в том месяце, которому соответствует дата D.
Если кол-во дней в месяце, причем тут число как поле записи?
Вот так попробуй:
function days (d:dt):integer;
function d_ (y,m,d:integer):longint;
begin
if m<3 then begin dec (y); inc (m,12); end;
d_:=round(int (y*365.25)+int ((m+1)*30.601)+d-int(y/100)+int (y/400));
end;
var r:integer;
begin
r:=28; while d_(d.y,d.m,r)<d_(d.y, d.m+1,1) do inc( r );
days:=r-1;
end;
А у меня вот что получилось:
function NumberOfDays (month: byte, year: word):byte
begin
if month=2 then
if year mod 4 = 0 and ( (year mod 100 <> 0) or (year mod 400 = 0) )
then NumberOfDays := 29
else NumberOfDays := 28
else if (month = 4) or (month = 6) or (month = 9) or (month = 11)
then NumberOfDays := 30
else NumberOfDays := 31;
end;