Вам нужно сравнить строки в вашей функции.
if ((list1.date_of_flight.month > 12) || (list1.date_of_flight.month < 01)) {
printf("Wrong input. The right input should be between 01 (January) and 12 (December).\n");
должно быть на самом деле:
if ((strcmp(list1.date_of_flight.month, "12") > 0 ) || (strcmp(list1.date_of_flight.month, "01") < 0)) {
printf("Wrong input. The right input should be between 01 (January) and 12 (December).\n");
}
strcmp()
- это функция в <string.h>
.Возвращает 0, если две строки равны.
Возвращает отрицательное число, если первый другой символ в первой строке следует после этого во второй строке, на основе значения ASCII.
В противном случае возвращается положительное число.