IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

2 страниц V < 1 2  
 Ответить  Открыть новую тему 
> Класс календаря., ООП
сообщение
Сообщение #21


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Цитата(мисс_граффити @ 8.11.2006 19:09) *

Самая первая задача.
То же самое, только наоборот: по времени и дате вычисляется другая дата.

В Дельфи,в консоле не смог откомпилировать.Ругаеться на Inc(DayInMonth[2], Byte((CurrYear mod 4) = 0));!!
Как это можно записать по другому???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #22


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


И на какую же ошибку система тебе указывает ? У меня откомпилировалось нормально.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #23


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


 DayInMonth[2]:=DayInMonth[2]+Byte((CurrYear mod 4) = 0)

если тоже не откомпилируется - напиши условный оператор.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #24


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Цитата(мисс_граффити @ 8.11.2006 21:44) *

 DayInMonth[2]:=DayInMonth[2]+Byte((CurrYear mod 4) = 0)

если тоже не откомпилируется - напиши условный оператор.

Вот такая ошибка появляеться [Error] Project2.dpr(33): Left side cannot be assigned to

Я не понимаюююю! Помогите плз,завтра здавать,одной процедурки не хватает! (((

Сообщение отредактировано: Egor Vladimirovich -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #25


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


if ((CurrYear mod 4) = 0) then
DayInMonth[2]:=DayInMonth[2]+1

то есть если год високосный, делаем в феврале 29 дней.

кстати, по-моему, если год делится на 100, но не делится на 400 (ну например 1900, 1700) - он не високосный.


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #26


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


2 мисс графити
откомпилировал,тока че то не разобрался как наоборот сделать( Я помоему дыбил)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #27


Гость






Цитата
по-моему, если год делится на 100, но не делится на 400 (ну например 1900, 1700) - он не високосный.
yes2.gif

If ((CurrYear mod 4) = 0) and
not (((CurrYear mod 100) = 0) and ((CurrYear mod 400) <> 0)) then Inc(DayInMonth[2]);
 К началу страницы 
+ Ответить 
сообщение
Сообщение #28


Новичок
*

Группа: Пользователи
Сообщений: 35
Пол: Мужской
Реальное имя: Егор

Репутация: -  0  +


Помогите кто нибудь мне написать процедуру Вычисления количества дней,между 2 датами!!!!!!!!! mega_chok.gif mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #29


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Цитата(Egor Vladimirovich @ 10.11.2006 11:48) *

Помогите кто нибудь мне написать процедуру Вычисления количества дней,между 2 датами!!!!!!!!! mega_chok.gif mega_chok.gif


Тебе нужна функция, переводящая дату в количество дней начиная с хз какой даты:
function days (y,m,d:integer):longint;
begin
if m<3 then begin dec (y); inc (m,12); end;
days:=round(int (y*365.25)+int ((m+1)*30.601)+d-int(y/100)+int (y/400));
end;

Для вычисления разницы между датами в самый раз.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #30


Гость






Цитата(Malice @ 10.11.2006 13:04) *

Тебе нужна функция, переводящая дату в количество дней начиная с хз какой даты:
function days (y,m,d:integer):longint;
begin
if m<3 then begin dec (y); inc (m,12); end;
days:=round(int (y*365.25)+int ((m+1)*30.601)+d-int(y/100)+int (y/400));
end;

Для вычисления разницы между датами в самый раз.

Просто ОГРОМНОЕ СПАСИБО за помощь!
 К началу страницы 
+ Ответить 

2 страниц V < 1 2
 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.03.2024 4:55
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name