Лабораторная работа: Организация интерфейса пользователя
//... вывод меню на экран
int cont_menu_loop=1;
do
{
int sel_menu;
//... ввод sel_menu любымудобнымспособом
switch (sel_menu)
{
case0: //вводзначения a
a=input_float();
break;
case1: //вводзначения b
b=input_float();
break;
//...
case4: //вычисления и вывод результатов
calculate();
show_results();
break;
case5: //выход
cont_menu_loop=0;
break;
}
} while (cont_menu_loop);
}
Если меню используется как часть более сложного пользовательского интерфейса, то вывод меню и выбор пункта можно вынести в отдельную функцию. Этой функции можно передавать массив строк с названиями отдельных пунктов, а возвращаемое значение (номер выбранного пункта) анализировать в операторе switch. Такой подход в дальнейшем позволяет легко перейти от меню одного типа к меню другого типа, например, от простого (см. рис. 5, а) к меню с перемещением курсора (см. рис. 5, б).
5.4 Меню с перемещением курсора
Основное отличие этого варианта меню от простого заключается в способе ввода переменной sel_menu. Если в простом меню она вводится непосредственно пользователем, то в данном варианте ввод осуществляется косвенно с помощью клавиш управления курсором. Выбор пункта можно организовать следующим образом:
void highlight_menu(int item,int highlight);
void run()