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

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

  1. Если значение поля года введенной даты больше значения поля года первой даты и меньше поля года второй, то дата принадлежит диапазону.
  2. Иначе если год введенной даты совпадает с годом первой даты, то надо сравнить месяцы. Если месяц введенной даты больше или равен первой, то она принадлежит диапазону, иначе — нет.
  3. Если же год введенной даты совпадает с годом второй даты, то также надо сравнить месяцы. Дата будет принадлежать диапазону, если месяц введенной даты меньше или равен месяцу второй даты.
  4. Во всех остальных случаях введенная дата не будет принадлежать диапазону.

Pascal



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");
}

Python



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
Нет

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Pascal


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
Язык Си


#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
Python


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']