Реализовать функцию, которая из целого числа вида DDMMYY получает дату - C (СИ)
Формулировка задачи:
Реализовать функцию, которая из целого числа вида DDMMYY получает дату, месяц и год. Предусмотреть обработку лшибочных входных данных.
Решение задачи: «Реализовать функцию, которая из целого числа вида DDMMYY получает дату»
textual
Листинг программы
d = N/10000; m = (N - 10000*d)/100; y = n%100; if (m< 1 || m>12) printf("Error month"); if (d < 1 || d > 31) printf("Error Day\n"); // Ну и отдельно проверить для апреля, июня, сентября, ноября d<=30 // а для февраля с учетом високосности
Объяснение кода листинга программы
В данном коде представлена функция, которая принимает на вход число вида DDMMYY и возвращает дату. Разберем каждый шаг кода:
- d = N/10000; В этом шаге переменной d присваивается результат деления числа N на 10000. Это позволяет получить день месяца из числа вида DDMMYY.
- *m = (N - 10000d)/100;** Здесь переменной m присваивается результат вычитания из числа N произведения 10000 на d, разделенный на 100. Это позволяет получить месяц из числа вида DDMMYY.
- y = n%100; В этом шаге переменной y присваивается остаток от деления числа n на 100. Это позволяет получить последние две цифры числа, которые соответствуют году.
- if (m< 1 || m>12) printf(
Error month
); Здесь проверяется, является ли значение переменной m числом от 1 до 12. Если это не так, то выводится сообщение об ошибкеError month
. - if (d < 1 || d > 31) printf(
Error Day\n
); В этом шаге проверяется, является ли значение переменной d числом от 1 до 31. Если это не так, то выводится сообщение об ошибкеError Day
. - Комментарий: Здесь представлены дополнительные проверки для определенных месяцев (апрель, июнь, сентябрь, ноябрь), где d <= 30, и для февраля, где нужно учесть високосность. Таким образом, данный код выполняет следующие действия:
- Из числа вида DDMMYY извлекает день месяца и сохраняет его в переменной d.
- Из числа вида DDMMYY извлекает месяц и сохраняет его в переменной m.
- Из числа вида DDMMYY извлекает последние две цифры, которые соответствуют году, и сохраняет их в переменной y.
- Проверяет, является ли значение переменной m числом от 1 до 12. Если это не так, выводит сообщение об ошибке
Error month
. - Проверяет, является ли значение переменной d числом от 1 до 31. Если это не так, выводит сообщение об ошибке
Error Day
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д