Pers.narod.ru. Алгоритмы. Простейшее меню и окно вывода для консоли C++ (функции библиотеки conio.h)

Несмотря на то, что в моих архивах со старыми программами на Си можно найти исходники консольных и графических интерфейсов до- или вне-визуальной эпохи, применять их сегодня для простых учебных задач было бы слишком трудоёмко.

Но консольный C++ по-прежнему изучается до современных графических интерфейсов и компонентов (знание конкретных особенностей которых, к тому же, почти ничего не добавляет к Вашему мастерству программиста), а обходиться одной командной строкой как-то не хочется.

Ниже показана простейшая процедурная программка, способная формировать и поддерживать одноуровневое горизонтальное или вертикальное меню. Для создания меню достаточно описать в главной программе 2 структуры:

После этого всё, что остаётся - вызвать функцию DrawMenu, передав ей размерность меню, указатель на массив структур типа ITEM и структуру WINDOW.

DrawMenu (3,menu1,w); //Вызвали главную функцию системы

Остальные функции - служебные. Для очистки буфера клавиатуры использована небольшая ассемблерная вставка, как мне помнится, fflush (stdin); для этой цели работает не везде и не всегда.

Вот скриншот примера:

Простое консольное меню на функциях библиотеки conio.h

Пример для вертикального меню вместо горизонтального закомментарен в листинге.

Файл ниже прикреплён в оригинальной для консольных C++ кодировке DOS, так как рамки рисуются символами псевдографики, которых в Windows-кодировках попросту нет.

 Простое консольное меню на функциях библиотеки conio.h, файл .cpp (4 Кб)

Рейтинг@Mail.ru

вверх гостевая; E-mail
Hosted by uCoz