CMC (Complex Modules Clock)
Complex Modules Clock (Комплекс модулей часов) — это консольное приложение на языке C, которое предоставляет несколько способов отображения текущего времени и даты в терминале. Проект поддерживает статический вывод, динамически обновляемый текстовый таймер и псевдографические часы с различными шрифтами (3x3, 5x5, 8x8). Приложение модульное, что позволяет легко расширять его функциональность.
Возможности
- Статический вывод текущей даты и времени в формате
ГГГГ/ВремяГода/Месяц | День/ДеньНедели | ЧЧ:ММ:СС
. - Динамически обновляемый текстовый таймер, показывающий время с частотой раз в секунду.
- Псевдографические часы с тремя шрифтами:
- 3x3 (аргумент
m3
) - 5x5 (аргумент
m5
) - 8x8 (аргумент
m7
)
- 3x3 (аргумент
- Обработка SIGINT (Ctrl+C) для корректного завершения.
- Модульная архитектура для упрощения добавления новых функций.
- Поддержка ANSI-кодов для цветного и форматированного вывода.
Установка
Для сборки и запуска проекта требуется компилятор GCC и утилита make
, доступные на большинстве Unix-подобных систем (Linux, macOS). На Windows можно использовать WSL или MinGW.
-
Клонируйте репозиторий (если проект размещён на GitHub):
git clone <URL_репозитория> cd complex-modules-clock
-
Соберите проект с помощью
Makefile
:make
Это создаст исполняемый файл
complex_modules_clock
. -
Проверьте зависимости:
- Требуется стандартная библиотека C и заголовочные файлы (
stdio.h
,time.h
,unistd.h
,signal.h
,stdlib.h
). - Никаких внешних библиотек не требуется.
- Требуется стандартная библиотека C и заголовочные файлы (
Использование
Запустите программу с одним из поддерживаемых аргументов:
./complex_modules_clock <аргумент>
Доступные аргументы
Look at the HELP
Examples
-
Показать справку:
./complex_modules_clock mh
-
Вывести текущую дату и время:
./complex_modules_clock ms
Пример вывода:
2025/Winter/January | 7/Tuesday | 13:21:45
-
Запустить псевдографические часы (5x5):
./complex_modules_clock m5
Примечание: Для корректного отображения псевдографики используйте терминал с поддержкой UTF-8 (например, большинство современных терминалов Linux/macOS).
Внимание: Нажмите
Ctrl+C
, чтобы завершить выполнение программы. Курсор будет восстановлен, а экран очищен.
Структура проекта
complex_modules_clock.c
: Основной файл, который обрабатывает аргументы и вызывает модули.module_*.c
: Модули, реализующие различные режимы работы:module_00.c
: Справочное сообщение (mh
).module_01.c
: Статический вывод времени (ms
).module_02.c
: Динамический текстовый таймер (mu
).module_03.c
: Псевдографические часы 3x3 (m3
).module_05.c
: Псевдографические часы 5x5 (m5
).module_07.c
: Псевдографические часы 8x8 (m7
).
common.c
,common.h
: Функции для получения времени года, месяца и дня недели.pseudographic_font_*.h
: Определения псевдографических шрифтов (3x3, 5x5, 8x8).clock_*.c
: Отдельные реализации часов (возможно, прототипы).Makefile
: Скрипт для сборки проекта.
Дополнительные детали проекта
- Каждому модулю соответствует аналог и отдельно компелируемая программа.
Модуль Аналог module_00.c
HELP module_01.c
clock_sr.c module_02.c
clock_up.c module_03.c
clock_pg3.c module_05.c
clock_pg5.c module_07.c
clock_pg7.c
Total number of lines in the project:
1020
License
Этот проект распространяется под лицензией MIT.
См. файл LICENSE
для подробностей.
(если файл отсутствует, уточните у автора проекта).
Примечание: Если вы используете эту программу в своем проекте, буду благодарен, если укажите авторство.
Author
- Grannik
Contacts:
- Сайт: Grannik
Repositories:
- asciinema CMC
- Codeberg: CMC
- GitHub: CMC
- GitLab: CMC
- SourceForge: CMC
- Gitea (Demo): CMC
- Gogs (Demo): CMC
Создано с ❤️ для любителей консольных приложений.