По заданной дате вывести информацию о том, високосный ли год, а также название месяца и количество дней в нем - 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); }
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы с потоками ввода-вывода и строками.
- Установка русской локали для корректного вывода русских символов.
- Создание двух массивов: Days и Mons.
- Массив Days содержит количество дней в каждом месяце, где 31 - февраль, 30 - апрель, май, июль, август, сентябрь, ноябрь, декабрь, а 30 - январь, март, июнь, июль, август, сентябрь, октябрь.
- Массив Mons содержит названия месяцев.
- Объявление переменных m и y для хранения введенных пользователем месяца и года.
- Запуск цикла do-while, который будет выполняться до тех пор, пока пользователь вводит корректные значения месяца и года.
- Вывод сообщения с просьбой ввести месяц и год.
- Считывание введенных пользователем значения месяца и года в переменные m и y.
- Проверка, является ли год високосным (делится на 4 без остатка).
- Если год високосный, то вывод сообщения о том, что год является високосным, увеличение значения Days[1] на 1 (увеличение количества дней в феврале), вывод названия месяца и количества дней в нем, а затем уменьшение значения Days[1] на 1.
- Если год не високосный, то вывод сообщения о том, что год не високосный, вывод названия месяца и количества дней в нем.
- Повторение цикла do-while до тех пор, пока пользователь не введет недопустимые значения месяца или года (меньше 1 или больше 12).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д