В программе заданы месяц и год двух дат. Пользователь вводит еще одну дату (только месяц и год). Определить, принадлежит ли третья дата диапазону от первой даты до второй включительно. Задачу решить с использованием структуры данных.
Если значение поля года введенной даты больше значения поля года первой даты и меньше поля года второй, то дата принадлежит диапазону.
Иначе если год введенной даты совпадает с годом первой даты, то надо сравнить месяцы. Если месяц введенной даты больше или равен первой, то она принадлежит диапазону, иначе — нет.
Если же год введенной даты совпадает с годом второй даты, то также надо сравнить месяцы. Дата будет принадлежать диапазону, если месяц введенной даты меньше или равен месяцу второй даты.
Во всех остальных случаях введенная дата не будет принадлежать диапазону.
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");
}
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