Перечисления и структуры - Как инкрементировать месяц? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Подскажите пожалуйста есть перечисление
enum Month {JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG,
            SEP, OCT, NOV, DEC, MONTHS = 12};
есть структура
struct Date
{
    int dd;
    Month mm;
    int yyyy;
};
Дальше я завожу структуру Date date 1 = {01, FEB, 2011}; как инкреминтровать месяц??? с днем и годом все ясно
date.dd++;
date.yyyy++;
а с месяцем?

Решение задачи: «Перечисления и структуры - Как инкрементировать месяц?»

textual
Листинг программы
date.mm++;
if( date.mm == MONTHS ) // после декабря идёт январь следующего года
{
   date.mm = JAN;
   date.yyyy++;
}

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

В данном коде происходит инкрементирование месяца в структуре date.

  1. date.mm++; - увеличивается значение переменной mm на единицу.
  2. if( date.mm == MONTHS ) - проверяется, равно ли значение переменной mm максимальному значению месяцев в году (переменной MONTHS).
  3. date.mm = JAN; - если условие истинно, то значение переменной mm присваивается значение январь (переменной JAN).
  4. date.yyyy++; - и наконец, если условие истинно, то значение переменной yyyy увеличивается на единицу. Этот код позволяет инкрементировать месяц, обеспечивая правильный порядок месяцев в году и переход на следующий год после декабря.

ИИ для рефератов и докладов


  • Экспорт Word по ГОСТу
  • Минимум 80% уникальности текста
  • Поиск релевантных источников в интернете
  • Готовый документ за 2 минуты

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

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