Описание:
Данная программа представляет собой простой консольный календарь, позволяющий пользователю выбрать конкретный день и отобразить его.
Функциональность:
- Вывод списка месяцев: Программа выводит список месяцев года с номерами, цвет которых варьируется в зависимости от времени года:
- Синий для зимних месяцев (Январь, Февраль, Декабрь)
- Зеленый для весенних месяцев (Март, Апрель, Май)
- Красный для летних месяцев (Июнь, Июль, Август)
- Желтый для осенних месяцев (Сентябрь, Октябрь, Ноябрь)
- Ввод данных пользователем: Пользователь вводит номер месяца и день, которые программа проверяет на корректность.
- Вывод результата: После успешного ввода данных, программа выводит выбранный день и месяц с цветовым выделением.
- Завершение/Перезапуск: После вывода результата, программа предлагает пользователю перезапустить программу или завершить ее.
Ключевые особенности:
- Использование enum: Для удобства работы с месяцами используется перечисление Month.
- Использование map: Для хранения информации о цветах месяцев используется ассоциативный массив _coloredMonths.
- Использование ANSI-кодов: Для изменения цвета текста используются ANSI-коды, позволяющие задать цвет текста в консоли.
- Проверка ввода данных: В программе реализована проверка корректности ввода номера месяца и дня.
- Локализация: Программа использует setlocale(0, "") для корректного отображения русского языка.
Инструкции по запуску:
- Сохраните код в файл с расширением .cpp.
- Скомпилируйте код с помощью компилятора C++.
- Запустите получившийся исполняемый файл.
Пример работы программы:
- Пользователь запускает программу.
- Программа выводит список месяцев с номерами и цветным выделением.
- Пользователь вводит номер месяца (например, 3) и день (например, 15).
- Программа выводит выбранный день и месяц: "15 Март".
- Программа предлагает перезапустить программу или завершить ее.
Дополнительно:
- Программа может быть дополнена функциями для отображения полного календаря на месяц или год.
- Программа может быть расширена для вывода информации о праздниках и других событиях.
- Программа может быть оптимизирована для лучшего пользовательского опыта, например, с помощью более удобного интерфейса.