Даны три натуральных числа обозначают день месяц и год, указать дату предыдущего дня - 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;
}

Объяснение кода листинга программы

В этом коде:

  1. Переменные d, m, y используются для хранения дня, месяца и года, введенных пользователем.
  2. Готовая библиотека Glib используется для работы с датами.
  3. Функция g_date_valid_dmy() проверяет корректность введенных пользователем параметров.
  4. Функция g_date_new_dmy() создает объект даты из введенных пользователем параметров.
  5. Функция g_date_subtract_days() вычитает из объекта даты один день.
  6. Функции g_date_get_day(), g_date_get_month() и g_date_get_year() получают день, месяц и год из объекта даты.
  7. Функция g_date_free() освобождает память, занятую объектом даты.
  8. Если введенные параметры некорректны, выводится сообщение об ошибке.
  9. Код выполняется в цикле, пока пользователь не введет некорректные параметры или не отправит сигнал конца файла.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5
Похожие ответы