Advertisement
MARSHAL327

Untitled

Jan 4th, 2020
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.14 KB | None | 0 0
  1. const string items[7] = {
  2.     "   Ввод данных               ",
  3.     "   Печать данных             ",
  4.     "   Сохранить данные          ",
  5.     "   Сохранить в другой файл   ",
  6.     "   Поиск                     ",
  7.     "   Выбрать другой файл       ",
  8.     "   Выход из программы        " };
  9.  
  10.  
  11. // ==========ШАБЛОН ПЕЧАТИ МЕНЮ==========
  12. void print_menu(int sym, const string items[], const int N_ITEMS) {
  13.     for (int i = 1; i <= N_ITEMS; i++) {
  14.         if (i == sym) {
  15.             cout << "-> ";
  16.         }
  17.         cout << items[i - 1] << endl;
  18.     }
  19. }
  20.  
  21. // ==========МЕНЮ==========
  22. int menu(int& active, const string items[], int num_el) {
  23.     wint_t buf;
  24.  
  25.     do {
  26.         cls();
  27.         print_menu(active, items, num_el);
  28.  
  29.         buf = _getwch();
  30.         switch (buf) {
  31.         case up: // клавиша вверх
  32.             if (active > 1) active--;
  33.             break;
  34.         case down: // клавиша вниз
  35.             if (active < num_el) active++;
  36.             break;
  37.         case enter: // клавиша enter
  38.             return active;
  39.         case esc: // клавиша escape
  40.             return -1;
  41.         case del:
  42.             return -active;
  43.         }
  44.     } while (1);
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement