По заданной дате вывести информацию о том, високосный ли год, а также название месяца и количество дней в нем - C (СИ)

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

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

Помогите написать программу на языке си условие: По заданной дате вывести информацию о том, високосный ли год в этой дате, а также название месяца и количество дней в нем

Решение задачи: «По заданной дате вывести информацию о том, високосный ли год, а также название месяца и количество дней в нем»

textual
Листинг программы
#include <iostream>
#include <string>
using namespace std;
void main()
{
        setlocale(LC_ALL, "Russian"); 
        int Days [12]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30};
        string Mons [12]={"Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"};
        int m, y;
        do
        {
            cout<<"введите месяц и год\n";
        cin>>m>>y;
        
        if (y%4==0) 
        {
            cout<<"год "<<y<<" является високосным, ";
            Days[1]++;
            cout<<" месяц- "<<Mons[m-1]<<", в нем "<<Days[m-1]<<" дней.\n";
            Days[1]--;
        }
        else
        {
        cout<<"год "<<y<<" является не високосным, ";
        cout<<" месяц- "<<Mons[m-1]<<", в нем "<<Days[m-1]<<" дней.\n";
        }
        }
        while (m>0&&m<=12);
}

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

  1. Подключение необходимых библиотек для работы с потоками ввода-вывода и строками.
  2. Установка русской локали для корректного вывода русских символов.
  3. Создание двух массивов: Days и Mons.
    • Массив Days содержит количество дней в каждом месяце, где 31 - февраль, 30 - апрель, май, июль, август, сентябрь, ноябрь, декабрь, а 30 - январь, март, июнь, июль, август, сентябрь, октябрь.
    • Массив Mons содержит названия месяцев.
  4. Объявление переменных m и y для хранения введенных пользователем месяца и года.
  5. Запуск цикла do-while, который будет выполняться до тех пор, пока пользователь вводит корректные значения месяца и года.
  6. Вывод сообщения с просьбой ввести месяц и год.
  7. Считывание введенных пользователем значения месяца и года в переменные m и y.
  8. Проверка, является ли год високосным (делится на 4 без остатка).
  9. Если год високосный, то вывод сообщения о том, что год является високосным, увеличение значения Days[1] на 1 (увеличение количества дней в феврале), вывод названия месяца и количества дней в нем, а затем уменьшение значения Days[1] на 1.
  10. Если год не високосный, то вывод сообщения о том, что год не високосный, вывод названия месяца и количества дней в нем.
  11. Повторение цикла do-while до тех пор, пока пользователь не введет недопустимые значения месяца или года (меньше 1 или больше 12).

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


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

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

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