Sin descripción

Grannik b783f2d563 Удалить 'complex_modules_clock.cast' hace 1 semana
HELP eccf28f93e Загрузить файлы '' hace 1 semana
LICENSE 3a4eaabbf8 Загрузить файлы '' hace 1 semana
Makefile 3a4eaabbf8 Загрузить файлы '' hace 1 semana
README.md 12b549d704 Загрузить файлы '' hace 1 semana
clock_pg3.c eccf28f93e Загрузить файлы '' hace 1 semana
clock_pg5.c eccf28f93e Загрузить файлы '' hace 1 semana
clock_pg7.c eccf28f93e Загрузить файлы '' hace 1 semana
clock_sr.c eccf28f93e Загрузить файлы '' hace 1 semana
clock_up.c eccf28f93e Загрузить файлы '' hace 1 semana
common.c eccf28f93e Загрузить файлы '' hace 1 semana
common.h eccf28f93e Загрузить файлы '' hace 1 semana
complex_modules_clock.c eccf28f93e Загрузить файлы '' hace 1 semana
module_00.c 3a4eaabbf8 Загрузить файлы '' hace 1 semana
module_01.c 3a4eaabbf8 Загрузить файлы '' hace 1 semana
module_02.c 3a4eaabbf8 Загрузить файлы '' hace 1 semana
module_03.c 3a4eaabbf8 Загрузить файлы '' hace 1 semana
module_05.c 3a4eaabbf8 Загрузить файлы '' hace 1 semana
module_07.c 3a4eaabbf8 Загрузить файлы '' hace 1 semana
pseudographic_font_3.h 3a4eaabbf8 Загрузить файлы '' hace 1 semana
pseudographic_font_5.h 3a4eaabbf8 Загрузить файлы '' hace 1 semana
pseudographic_font_7.h 12b549d704 Загрузить файлы '' hace 1 semana

README.md

CMC (Complex Modules Clock)

Complex Modules Clock (Комплекс модулей часов) — это консольное приложение на языке C, которое предоставляет несколько способов отображения текущего времени и даты в терминале. Проект поддерживает статический вывод, динамически обновляемый текстовый таймер и псевдографические часы с различными шрифтами (3x3, 5x5, 8x8). Приложение модульное, что позволяет легко расширять его функциональность.

Возможности

  • Статический вывод текущей даты и времени в формате ГГГГ/ВремяГода/Месяц | День/ДеньНедели | ЧЧ:ММ:СС.
  • Динамически обновляемый текстовый таймер, показывающий время с частотой раз в секунду.
  • Псевдографические часы с тремя шрифтами:
    • 3x3 (аргумент m3)
    • 5x5 (аргумент m5)
    • 8x8 (аргумент m7)
  • Обработка SIGINT (Ctrl+C) для корректного завершения.
  • Модульная архитектура для упрощения добавления новых функций.
  • Поддержка ANSI-кодов для цветного и форматированного вывода.

Установка

Для сборки и запуска проекта требуется компилятор GCC и утилита make, доступные на большинстве Unix-подобных систем (Linux, macOS). На Windows можно использовать WSL или MinGW.

  1. Клонируйте репозиторий (если проект размещён на GitHub):

    git clone <URL_репозитория>
    cd complex-modules-clock
    
  2. Соберите проект с помощью Makefile:

    make
    

Это создаст исполняемый файл complex_modules_clock.

  1. Проверьте зависимости:
    • Требуется стандартная библиотека C и заголовочные файлы (stdio.h, time.h, unistd.h, signal.h, stdlib.h).
    • Никаких внешних библиотек не требуется.

Использование

Запустите программу с одним из поддерживаемых аргументов:

./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:

Repositories:

  • asciinema CMC
  • Codeberg: CMC
  • GitHub: CMC
  • GitLab: CMC
  • SourceForge: CMC
  • Gitea (Demo): CMC
  • Gogs (Demo): [CMC]()

Создано с ❤️ для любителей консольных приложений.