Задание по лекции 01_TerminalProject
(Общие замечания см. тут)
Рассматривается минимальное решение. Фактически это копия последнего примера лекции + аккуратная обработка длины выводимых строк (во избежание лишнего скроллинга).
01_TerminalProject ├── Makefile └── Show.c
Условие сдачи
По команде make собирается файл Show, а по команде ./Show Makefile можно просмотреть этот файл от начала до конца.
Компоненты автоматической проверки
В репозитории есть все файлы: Makefile, *.c
В Makefile есть цель Show:
В Makefile есть подстрока "-lncurses"
В файлах *.[ch] можно найти подстроки "include <ncurses.h>", "box("
В репозитории нет мусора и генератов (содержится только Makefile и файлы *.[ch])
Обязательная составляющая
При изменении любого из *.[ch] файлов (предположительно он один — Show.c) команда make приводит к пересборке Show
- При сборке не выдается предупреждений («Warning»-ов)
- Программа работает на файлах со строками длиной более ширины экрана
- Программа работает на файлах количеством строк меньше высоты экрана (в т. ч. пустом)
Необязательная составляющая
- Обработка ошибок вызываемых функций, если они могут завершиться с ошибками
- В этом задании допустимо такую обработку не делать
- Дополнительные клавиши управления (постраничный просмотр, просмотр назад, сдвиг вправо-влево и т. п.)
Варианты ошибок
- При просмотре файла строки пролистываются более чем по одной (из-за лишних переводов строки)
- Содержимое экрана не соответствует содержимому файла (кроме усечения строк), например, появляются лишние пустые строки
- Программа падает в процессе показа существующего файла