Принадлежит ли дата диапазону времени

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

  1. Если значение поля года введенной даты больше значения поля года первой даты и меньше поля года второй, то дата принадлежит диапазону.
  2. Иначе если год введенной даты совпадает с годом первой даты, то надо сравнить месяцы. Если месяц введенной даты больше или равен первой, то она принадлежит диапазону, иначе - нет.
  3. Если же год введенной даты совпадает с годом второй даты, то также надо сравнить месяцы. Дата будет принадлежать диапазону, если месяц введенной даты меньше или равен месяцу второй даты.
  4. Во всех остальных случаях введенная дата не будет принадлежать диапазону.
type date = record
    year: word;
    month: 1..12;
end;
 
var d1, d2, du: date;
 
begin
    d1.year := 1965;
    d1.month := 6;
    d2.year := 2014;
    d2.month := 7;
    write('Год: ');
    readln(du.year);
    write('Месяц: ');
    readln(du.month);
 
    if (du.year > d1.year) and (du.year < d2.year) then
        writeln('Да')
    else if du.year = d1.year then
        if du.month >= d1.month then
            writeln('Да')
        else
            writeln('Нет')
    else if du.year = d2.year then
        if du.month <= d2.month then
            writeln('Да')
        else
            writeln('Нет')
    else
        writeln('Нет');
end.
Год: 2014
Месяц: 7
Да
#include <stdio.h>
 
struct data {
    int year;
    int month;
};
 
main() {
    struct data d1, d2, du;
    d1.year = 1995;
    d1.month = 3;
    d2.year = 2015;
    d2.month = 11;
    printf("Год: ");
    scanf("%d", &du.year);
    printf("Месяц: ");
    scanf("%d", &du.month);
    if (du.year > d1.year && du.year < d2.year)
        printf("Да");
    else if (du.year == d1.year)
        if (du.month >= d1.month)
            printf("Да");
        else
            printf("Нет");
    else if (du.year == d2.year)
        if (du.month <= d2.month)
            printf("Да");
        else
            printf("Нет");
    else
        printf("Нет");
    printf("\n");
}
d1 = {'year': 2003, 'month': 12}
d2 = {'year': 2014, 'month': 6}
du = {}
du['year'] = int(input('Год: '))
du['month'] = int(input('Месяц: '))
if d1['year'] < du['year'] < d2['year']:
    print('Да')
elif du['year'] == d1['year']:
    if du['month'] >= d1['month']:
        print('Да')
    else:
        print('Нет')
elif du['year'] == d2['year']:
    if du['month'] <= d2['month']:
        print('Да')
    else:
        print('Нет')
else:
    print('Нет')
Год: 2003
Месяц: 8
Нет