Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
#1

Находится ли дата между двумя другими датами - C++

06.04.2011, 12:48. Просмотров 587. Ответов 5
Метки нет (Все метки)

казалось бы задача вроде несложная, но что-то никак не могу понять в чём ошибка...
имеется структура _DATE
C++
1
2
3
4
5
6
struct _DATE
{
    int day;
    int month;
    int year;
}
и функция для определения, находится ли указанная дата между двумя другими
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
bool DateCompare(_DATE from, _DATE date, _DATE to)
{
    if(date.year < from.year || date.year > to.year)
        return false;
 
    if(date.month < from.month || date.month > to.month)
        return false;
 
    if(date.day < from.day || date.day > to.day)
        return false;
 
    return true;
}
функция кривая, никак не могу сообразить как это правильно сделать
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2011, 12:48
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Находится ли дата между двумя другими датами (C++):

Определить число дней между двумя известными датами. Если вторая дата предшествует первой, то результат отрицательный - C++
Здравствуйте! Помогите, пожалуйста, мне решить вот такую задачу (желательно, чтобы работало в Qt Creator): Определить число дней между...

Количество дней между двумя датами - C++
Хочу спросить кто знает как найти количество дней между двумя датами. ПРИМЕР input output 01.01.93 1 02.01.93 ...

Вычислить разницу между двумя датами - C++
1. есть ли функция которая вычислит сколько прошло например с 1934 до 2014. 2. как вычислить сраж роботы есть год поступления на роботу и...

Вычислить количество дней между двумя датами - C++
Даны натуральные числа a1, b1, c1, a2, b2, c2, которые указывают две даты (число, месяц, год). Вычислить: количество дней, прошедших между...

Определить количество дней между двумя датами - C++
Всем привет. Знаю была уже подобная задачка решена ранее, и не раз: Пользователь вводит две даты (день, месяц, год в виде целых чисел)....

Вычисление разности между двумя датами (Turbo C) - C++
Здравствуйте,уважаемые эксперты!прошу вас помочь в следующем вопросе,Заранее благодарю!написать программу на Турбо С:. Даны натуральные...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IrineK
Заблокирован
06.04.2011, 13:11 #2
А если так:
C++
1
2
3
4
5
6
7
bool DateCompare(_DATE from, _DATE date, _DATE to)
{
     if ((date.day >= from.day && date.day <= to.day) &&(date.month >= from.month &&
            date.month <= to.month) && (date.year >= from.year && date.year <= to.year))
        return true;
    return false;
}
Xtir
11 / 11 / 0
Регистрация: 10.07.2010
Сообщений: 130
06.04.2011, 16:13  [ТС] #3
чё-то неа, такой вариант тоже не работает походу ) ещё будут предложения?

т.е если рассмотреть вот такой вариант,
Код
1.4.2010    6.4.2011    29.1.2013 (from, date, to)
здесь видим что date.month > to.month, и поэтому функция возвращает ложь )

Добавлено через 2 часа 27 минут
ниужели нет идей? а то реально мне это мозг выносит, просто не знаю куда деваться )))
IrineK
Заблокирован
06.04.2011, 18:23 #4
Можно для каждой даты построить такое:
365*year + 12*month+ day
и сравнивать.

Или такое:
10000*year + 100*month + day
и также сравнивать.
ForEveR
В астрале
Эксперт С++
7971 / 4733 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
06.04.2011, 18:31 #5
IrineK, Есть еще и високосные года.
IrineK
Заблокирован
06.04.2011, 18:38 #6
Поэтому вторая комбинация, кажется, универсальная.
Нужно погонять.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2011, 18:38
Привет! Вот еще темы с ответами:

Высчитать количество дней между двумя датами - C++
Короче,много тем на форуме по этому поводу,но нету ниодной правильной,которая мне нужна. Суть программы в том,что нужно ввести 2 даты....

Вывести разницу дней между двумя датами - C++
Всем привет. Ребят, прошу вашей помощи#include &lt;iostream&gt; using namespace std; class Date{ private: int raz, sch; int day,...

Посчитать количество дней между двумя датами - C++
читал на форуме похожие темы, даже нашел целый код, но он мне кажется мудреным, да и использовать мне массивы нельзя, мы их типо не прошли,...

Вывести разницу в днях между двумя датами - C++
Надо определить количество прошедших дней(даты ввести в формате dd/mm/yyyy)(можно считать что в году 365 дней) например: вход: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
06.04.2011, 18:38
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru