Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2011, 19:04   #21
JinAnton
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 54
По умолчанию

так не совсем правильно ведь например если заданы 23.11.1992 и 12.12.2000
то он не выдаст например дату 24.7.1993
JinAnton вне форума Ответить с цитированием
Старый 10.01.2011, 20:22   #22
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Код:
 if(year >= yeara && year <= yearb){
        if(year == yeara && year == yearb){
                if(month >= montha && month <= monthb){
                         if(month == montha && month == monthb){
                                  if(num >= numa && num <= numb)
                                         cout << "yes\n";                                  
                         }else
                            cout << "yes\n";
                }
        }else
            cout << "yes\n";
    }
NiCola999 вне форума Ответить с цитированием
Старый 11.01.2011, 16:09   #23
JinAnton
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 54
По умолчанию

а почему cout везде меньше или стой че это такое cout << "yes\n"; ???
JinAnton вне форума Ответить с цитированием
Старый 11.01.2011, 17:21   #24
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

вывод в консоль yes...
короче там где yes там дата попадает в промежуток, пристрой к своей программе как-нибудь. Например ф-ю из этого создай которая будет возвращать true или false (попадает или нет)
NiCola999 вне форума Ответить с цитированием
Старый 12.01.2011, 22:30   #25
JinAnton
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 54
По умолчанию

я не могу вот этого понять
Код:
  if(num >= numa && num <= numb)
                                         cout << "yes\n";                                  
                         }else
                            cout << "yes\n";
                }
        }else
            cout << "yes\n";
почему т.е. если все подходит то cout << "yes\n и если не подходит все равно cout << "yes\n
JinAnton вне форума Ответить с цитированием
Старый 12.01.2011, 22:39   #26
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

Цитата:
я не могу вот этого понять
Код:

Код:
if(num >= numa && num <= numb)
                                         cout << "yes\n";                                  
                         }else
                            cout << "yes\n";
                }
        }else
            cout << "yes\n";
почему т.е. если все подходит то cout << "yes\n и если не подходит все равно cout << "yes\n
я там просто скобки не ставил после ифа, т.к там одна конструкция скобки не нужны
Код:
if(num >= numa && num <= numb)
                  cout << "yes\n";
эти else к другим ифам относятся




Код:
if(year >= yeara && year <= yearb){
        if(year == yeara && year == yearb){
                if(month >= montha && month <= monthb){
                         if(month == montha && month == monthb){
                                  if(num >= numa && num <= numb)
                                         cout << "yes\n";                                  
                         }else
                            cout << "yes\n";
                }
        }else
            cout << "yes\n";
    }
если год попал в промежуток, то дата попала, печатаем yes.
если год попал в промежуток, но годы равны между собой, проверяем попадание месяца, если месяц попал печатаем yes.
если месяц попал но месяцы равный между собой, проверяем попадание дней
если дни попали в промежуток, пачатаем yes

например:
a: 2000.10.10
b: 2000.10.20

data: 2000.10.12

годы и месяцы равны значит проверка на попадание дня, день попал, след дата попала в промежуток


наверно алгоритм проверки не лучший, но че смог то придумал. Есть еще идея переводить все даты в одно число( в дни например)
и смотреть попало ли число в промежуток.

Последний раз редактировалось NiCola999; 12.01.2011 в 22:44.
NiCola999 вне форума Ответить с цитированием
Старый 12.01.2011, 23:29   #27
JinAnton
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 54
По умолчанию

ну я тебя понял помог но я сделал от противного
Код:
if(k.year < yeara || k.year > yearb)
 	flag = false;
        if(k.year == yeara || k.year == yearb)
                if(k.month < montha || k.month > monthb)
	flag = false;
                         if(k.month == montha || k.month == monthb)
                                  if(k.num < numa || k.num > numb)
                                         flag = false;                                 
                         if( !flag == false)
                         printf(............)
JinAnton вне форума Ответить с цитированием
Старый 12.01.2011, 23:40   #28
NiCola999
Не
Участник клуба
 
Регистрация: 29.10.2009
Сообщений: 1,456
По умолчанию

и чем это от моего отличается?Я не уверен что твоё работает правильно, проверять не буду
NiCola999 вне форума Ответить с цитированием
Старый 13.01.2011, 01:30   #29
JinAnton
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 54
По умолчанию

то что правильно я уверен)) от твоего отличается тем что твой я досих пор пытаюсь понять но это не твой косяк а моя "не доразвитость" в программировании) хотя особенным ничем я думаю не отличается!!!
JinAnton вне форума Ответить с цитированием
Старый 13.01.2011, 11:37   #30
JinAnton
Пользователь
 
Регистрация: 04.01.2011
Сообщений: 54
Радость

все сдал правда он сказал что лучше бы я все в дни пнревел и сравнил))) правильно ты сказал
JinAnton вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлом.. dimorik Win Api 2 23.03.2010 21:26
Записать двоичным методом строку. Alex Cones Общие вопросы Delphi 9 09.03.2010 08:29
Обращение к двоичным файлам atenon Общие вопросы C/C++ 10 18.12.2009 11:21
Си++. работа с файлом milate Помощь студентам 0 08.06.2009 12:52
Работа с двоичным кодом lacost Общие вопросы Delphi 7 19.11.2008 10:38