![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 93
|
![]()
Как лучше оформить функции check и check1
вот код: Код:
Для данной программы надо использовать оператор switch и структуру Последний раз редактировалось sidestep; 19.03.2012 в 11:01. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
я, конечно, совсем не знаю C/C++
но, имхо, проверка на високосность у Вас организована НЕВЕРНО! по хорошему, она выглядит так (на Паскаль): Код:
Ну, чтобы далеко не ходить, возьмите, например, 2000 год. Он был ВИСОКОСНЫМ! поэтому или добавьте в условие високосности проверку на кратность 400 или выкиньте (совсем!) проверку на кратность 100. (тогда в диапазоне от 1601 года до 2399 года обычная банальная проверка делимости на 4 даёт ответ високосный год или нет). А вычисление даты через заданное число дней я тут на форуме давал рабочий код, правда, на языке Паскаль. Если сможете перевести на C - то рекомендую воспользоваться поиском.. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 93
|
![]()
2000 у меня проверяет эта часть
Код:
1 условие, если кратен 4 и не кратен 100 - високосный 2 условие, если кратен 100 и кратен 400 - високосный других вариантов не может быть, или я не прав в чем-то? пожалуйста тогда пример |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 93
|
![]()
так видимо поиском я не умею пользоваться, можно ссылочку, если не трудно?
|
![]() |
![]() |
![]() |
#5 | ||||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Цитата:
а вот тут: Цитата:
Цитата:
ловите: Процедура добавления к дате определенного количества дней Последний раз редактировалось Serge_Bliznykov; 19.03.2012 в 14:06. |
||||
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 93
|
![]()
так 2012 делится на 4 и не делится на 100 - поэтому високосный
Написал Ваш код на Си, но выдает неправильный результат Вот код: Код:
У меня всегда выдает месяц под номером 3! Да я еще не писал функцию на проверку существования даты и не ставил ограничение года Не могу понять в чем ошибка, существет ли какое-нибудь различиев приоритетах операций си и паскаля? думаю, может в этом ошибка при вычислениях. |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 93
|
![]()
вот Ваш код на Паскале:
Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 14.09.2011
Сообщений: 93
|
![]()
Короче вот рабочий код:
Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Даны a1,b1,c1, и a2,b2,c2 которые обозначают две даты. Нужно вычислить кол-во дней между этими датами | Рафиль | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 21.10.2011 10:34 |
Подсчитать количество дней имея дату | Dj_smart | Общие вопросы Delphi | 7 | 23.03.2009 12:46 |
Отредактируйте,пожалуйста,задачу на записи, вычисляющую дату через m дней. | JiLiYa | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 26.12.2008 09:29 |
Добавление кол-во дней в дату | D@rk M@k | Общие вопросы Delphi | 1 | 19.04.2008 10:19 |
Как сделать отсчет дней от заданной даты в Excel? | ru16 | Microsoft Office Excel | 1 | 22.11.2007 11:13 |