Блок задач

5. Проекты

Темы
Сложность 7

Проект «Программа dialog»

Реализовать простой аналог программы dialog(1).

Программа получает в аргументах командной строки тип диалога, заголовок окна, текст и рисует в текстовой консоли интерактивное окно диалога.

Возможные типы диалогов:

  • Информационное сообщение. Показывается сообщение и текстовая кнопка OK.
  • Да/нет. Сообщение и две текстовых кнопки. Код возврата программы зависит от нажатой пользователем кнопки.
  • Ввод строки. Показывается приглашение к вводу и поле, в котором можно вводить и редактировать строку (должны работать стрелочки, клавиши Home, End, Backspace, Del). Введенная строка затем печатается на stderr.
  • Длинный текст. Показ (без редактирования) файла с прокруткой.
  • Меню. Показ нескольких вариантов с возможность перемещения по ним. Код возврата программы отражает выбранный пункт.

Документация по уже существующим реализациям dialog: из FreeBSD, попроще, из Linux, посложнее. Dialog для новичков.

Библиотека работы с консолью доступна на github.