"Любая программа пишется любым студентом за пару месяцев" А у тебя в меню есть...
1) абстрактный интерфейс к дисплею (чтоб работать с разными можно было) ?
2) способ задания собственно древообразного меню на языке C (с динамическим формированием пунктов, если нужно) ?
3) виджеты в меню: команда (нажимать только), редактор строки, числа, список/комбобокс (выбор одного варианта из списка), чекбокс, радиокнопка, ползунок, число с плавающей точкой (числа редактируются стрелками) ?
4) глобальные виджеты: окно с сообщением к кнопками (типа retry/abort/ignore) и просмотрщик текста (со скроллами) ?
5) разумеется есть прокрутки, для маленьких дисплеев со скроллбаром, вложенные меню само собой, серые (неактивные) пункты ?
6) разумеется поддержка русского языка и псевдо-wchar в виде ГОСТ-кодировки (для русского, белорусов и украинцев) ?
7) "виртуальный дисплей" большего чем физический дисплей размера, опять же с прокруткой, для вывода объёмных текстов (логов для программистов и т.п.) ?
Особые мучения доставляет вывод "курсора" на дисплеях типа HD44780 (свой там есть, но он бесполезный, поэтому курсор делается быстрой перерисовкой (инвертированной) буквы и закрашенного квадрата, типа сереньким "подсвечено") -- так даже картинки выводить можно (там 8 перепрограммируемых буков есть), но синхронизироваться с обновлением дисплея сложно...
[ZX]