Advertisement
Guest User

Untitled

a guest
Dec 9th, 2019
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.16 KB | None | 0 0
  1. mat_values* print(mat_values* beg, mat_values* end) {
  2.    
  3.     char buf;
  4.     real_end = end;
  5.     mat_values* temp;
  6.     int num, page = 1;
  7.  
  8.     int elCount = 5; // Кол-во элементов на одной странице
  9.     bool exit;
  10.  
  11.    
  12.  
  13.     while (true) {
  14.         if (beg == NULL) {
  15.             MessageBox(0, L"Список пуст!", L"Предупреждение", MB_ICONWARNING | MB_SETFOREGROUND);
  16.             return beg;
  17.         }
  18.         system("cls");
  19.         temp = beg;
  20.         exit = false;
  21.         for (int i = 1; i < page; i++) {
  22.             for(int j = 0; j < elCount; j++){
  23.                 if (temp->next != nullptr)
  24.                     temp = temp->next;
  25.                 else {
  26.                     page--;
  27.                     exit = true;
  28.                     break;
  29.                 }
  30.             }
  31.             if (exit) break;
  32.         }
  33.         if(exit){
  34.             continue;
  35.         }
  36.         num = 0;
  37.         SetColor(0, 15);
  38.         cout << "      Горячие клавиши: esc- выход; tab - редактирование; del - удаление                " << endl;
  39.         SetColor(15, 0);
  40.         cout << "+——————————————————————————————————————————————————————————————————————————+——————————+" << endl;
  41.         cout << "|  №|№завода| №фил. | ФИО ответственного  | на начало| Прибыло  |  Убыло   | на конец |" << endl;
  42.         cout << "+——————————————————————————————————————————————————————————————————————————+——————————+" << endl;
  43.         while (num < elCount && temp != nullptr) {
  44.             num++;
  45.             print_info(*temp, (page-1)*elCount + num);
  46.             temp = temp->next;
  47.         }
  48.         cout << "Страница " << page;
  49.         exit = false;
  50.  
  51.         while(!exit){
  52.             switch(_getwch()){
  53.             case right_btn:{
  54.                 if (num == elCount && temp != nullptr) {
  55.                     page++;
  56.                 }
  57.                 exit = true;
  58.                 break;
  59.             }
  60.             case left_btn:{
  61.                 if(page != 1){
  62.                     page--;
  63.                 }
  64.                 exit = true;
  65.                 break;
  66.             }
  67.             case del:{
  68.                 beg = delete_el(beg, end);
  69.                 end = real_end;
  70.                 exit = true;
  71.                 if (beg == NULL) {
  72.                     MessageBox(0, L"Список пуст!", L"Предупреждение", MB_ICONWARNING | MB_SETFOREGROUND);
  73.                     return beg;
  74.                 }
  75.                 break;
  76.             }
  77.             case re:{
  78.                 red(beg);
  79.                 exit = true;
  80.                 break;
  81.             }
  82.             case 32:{
  83.                 int curent = 1;
  84.                 string i1[] = { "    Ноеру завода            ",
  85.                                 "    Номеру филиала          ",
  86.                                 "    ФИО ответственного      ",
  87.                                 "    Мат ценностям на начало ",
  88.                                 "    Прибыло                 ",
  89.                                 "    Выбыло                  "
  90.                             };
  91.                 string i2[] = {
  92.                         "    По возрастанию          ",
  93.                         "    По убыванию             "
  94.                 };
  95.                 system ("cls");
  96.                 int ii1 = menu(curent, i1, 7);
  97.                 system("cls");
  98.                 curent = 1;
  99.                 int ii2 = menu(curent, i2, 3);
  100.                 sort(beg, ii1, ii2);
  101.                 exit = true;
  102.                 break;
  103.             }
  104.             case esc:{
  105.                 return beg;
  106.             }
  107.             default:{
  108.                 break;
  109.             }
  110.             }
  111.         }
  112.     }
  113.  
  114.    
  115.    
  116. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement