Даны три натуральных числа обозначают день месяц и год, указать дату предыдущего дня - C (СИ)
Формулировка задачи:
Даны три натуральных числа обозначают день месяц и год.Указать дату предыдущего дня
Решение задачи: «Даны три натуральных числа обозначают день месяц и год, указать дату предыдущего дня»
textual
Листинг программы
#include <stdio.h> #include <glib.h> int main(void) { int d, m, y; while ( printf("Space separated day month and year: ") && scanf("%d%d%d", &d, &m, &y) == 3 ) { if ( g_date_valid_dmy(d, m, y) ) { GDate * date = g_date_new_dmy(d, m, y); g_date_subtract_days(date, 1); printf("Previous date: %d %d %d\n", g_date_get_day(date), g_date_get_month(date), g_date_get_year(date)); g_date_free(date); } else printf("Wrong parameters!\n"); } return 0; }
Объяснение кода листинга программы
В этом коде:
- Переменные d, m, y используются для хранения дня, месяца и года, введенных пользователем.
- Готовая библиотека Glib используется для работы с датами.
- Функция g_date_valid_dmy() проверяет корректность введенных пользователем параметров.
- Функция g_date_new_dmy() создает объект даты из введенных пользователем параметров.
- Функция g_date_subtract_days() вычитает из объекта даты один день.
- Функции g_date_get_day(), g_date_get_month() и g_date_get_year() получают день, месяц и год из объекта даты.
- Функция g_date_free() освобождает память, занятую объектом даты.
- Если введенные параметры некорректны, выводится сообщение об ошибке.
- Код выполняется в цикле, пока пользователь не введет некорректные параметры или не отправит сигнал конца файла.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д