Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.87 KB | None | 0 0
  1. #include "menu.h"
  2. #include "list.h"
  3.  
  4. CarBase inputBase();
  5.  
  6. int main()
  7. {
  8.     SetConsoleCP(1251);
  9.     SetConsoleOutputCP(1251);
  10.     hideCursor(true);
  11.     system("mode con cols=110 lines=25");
  12.     system("color 70");
  13.     string mainMenu[] {
  14.         "Добавить автобазу в список                                                                                 ",
  15.         "Просмотр и редактирование списка                                                                           ",
  16.         "Сортировка списка                                                                                          ",
  17.         "Очистка списка                                                                                             ",
  18.         "Запись в файл                                                                                              ",
  19.         "Загрузка из файла                                                                                          ",
  20.         "Содать отчет о топливе                                                                                     ",
  21.         "Просмотр отчета о топливе                                                                                  ",
  22.         "Закрыть программу                                                                                          "};
  23.     string sortMenu[]{
  24.         "Сортировка по номеру автобазы                                                                              ",
  25.         "Сортировка по фамилии (A->Я)                                                                               ",
  26.         "Сортировка по фамилии (Я->A)                                                                               ",
  27.         "Сортировка по количеству машин                                                                             ",
  28.         "Сортировка по израсходованному топливу                                                                     ",
  29.         "Выход в главное меню                                                                                       " };
  30.     string changeMenu[]{
  31.         "Изменить номер                                                                                             ",
  32.         "Изменить фамилию                                                                                           ",
  33.         "Изменить имя                                                                                               ",
  34.         "Изменить отчество                                                                                          ",
  35.         "Изменить количество машин                                                                                  ",
  36.         "Изменить расход топлива                                                                                    ",
  37.         "Удалить автобазу                                                                                           ",
  38.         "Вернуться к просмотру страницы                                                                             "};
  39.     string downloadMenu[]{
  40.         "Оригинальный список                            ",
  41.         "Последний сохраненный список                   ",
  42.         "Вернуться в главное меню                       ",
  43.     };
  44.     string nameField;
  45.     // Переменные для хранения выбранного пункта меню
  46.     int itemM, itemS, itemD;
  47.     // Переменные для хранения координат пункта меню
  48.     int yM, yS, yD, xM, xS, xD;
  49.  
  50. main:
  51.     itemM = 0, yM = 1, xM = 2;
  52.     showMainMenu(mainMenu);
  53.     while (true) {
  54.         switch (_getch())
  55.         {
  56.         case UP:
  57.             shiftUp(itemM, yM, xM, mainMenu);
  58.             break;
  59.         case DOWN:
  60.             shiftDown(itemM, yM, xM, mainMenu, SIZE_MAIN_MENU);
  61.             break;
  62.         case ENTER:
  63.             switch (itemM) {
  64.             case 0:
  65.                 add(inputBase());
  66.                 goto main;
  67.             case 1:
  68.                 printBase(changeMenu);
  69.                 goto main;
  70.             case 2:
  71.                 itemS = 0, yS = 1, xS = 2;
  72.                 showSortMenu(sortMenu);
  73.                 while (true) {
  74.                     switch (_getch())
  75.                     {
  76.                     case UP:
  77.                         shiftUp(itemS, yS, xS, sortMenu);
  78.                         break;
  79.                     case DOWN:
  80.                         shiftDown(itemS, yS, xS, sortMenu, SIZE_SORT_MENU);
  81.                         break;
  82.                     case ENTER:
  83.                         switch (itemS)
  84.                         {
  85.                         case 0:
  86.                             // по номеру автобазы
  87.                             nameField = "numberBase";
  88.                             sort(nameField);
  89.                             goto main;
  90.                         case 1:
  91.                             // по фамилии а->z
  92.                             nameField = "A.Z.lastName";
  93.                             sort(nameField);
  94.                             goto main;
  95.                         case 2:
  96.                             // по фамилии z->a
  97.                             nameField = "Z.A.lastName";
  98.                             sort(nameField);
  99.                             goto main;
  100.                         case 3:
  101.                             // по количеству машин
  102.                             nameField = "quantityCar";
  103.                             sort(nameField);
  104.                             goto main;
  105.                         case 4:
  106.                             // по израсходованному топливу
  107.                             nameField = "spentFuel";
  108.                             sort(nameField);
  109.                             goto main;
  110.                         case 5:
  111.                             goto main;
  112.                         }
  113.                     }
  114.                 }
  115.                 goto main;
  116.             case 3:
  117.                 clearList();
  118.                 goto main;
  119.             case 4:
  120.                 writeToFile();
  121.                 goto main;
  122.             case 5:
  123.                 itemD = 0, yD = 9, xD = 32;
  124.                 showDownloadMenu(downloadMenu);
  125.                 while(true) {
  126.                     switch (_getch())
  127.                     {
  128.                     case UP:
  129.                         shiftUp(itemD, yD, xD, downloadMenu);
  130.                         break;
  131.                     case DOWN:
  132.                         shiftDown(itemD, yD, xD, downloadMenu, SIZE_DOWNLOAD_MENU);
  133.                         break;
  134.                     case ENTER:
  135.                         switch (itemD) {
  136.                         case 0:
  137.                             readFromFile("BaseOrig.txt");
  138.                             goto main;
  139.                         case 1:
  140.                             readFromFile("BaseWork.txt");
  141.                             goto main;
  142.                         case 2:
  143.                             goto main;
  144.                         }
  145.                         break;
  146.                     }
  147.                 }
  148.                 goto main;
  149.             case 6:
  150.                 createFuelReport();
  151.                 goto main;
  152.             case 7:
  153.                 printFuelReport();
  154.                 goto main;
  155.             case 8:
  156.                 return 0;
  157.             }
  158.         }
  159.     }
  160. }
  161.  
  162. CarBase inputBase()
  163. {
  164.     system("cls");
  165.     printFrame(0, 24, 0, 110);
  166.     gotoXY(45, 0);
  167.     cout << " ДОБАВЛЕНИЕ БАЗЫ ";
  168.  
  169.     CarBase carBase;
  170.     gotoXY(2, 2);
  171.     cout << "Номер базы:";
  172.     carBase.numberBase = getNumber(MAX_LENGTH_NBASE, 22, 2);
  173.     gotoXY(2, 3);
  174.     cout << "Фамилия:";
  175.     carBase.lastName = getString(MAX_LENGTH_LAST_NAME, 22, 3);
  176.     gotoXY(2, 4);
  177.     cout << "Имя:";
  178.     carBase.firstName = getString(MAX_LENGTH_FIRST_NAME, 22, 4);
  179.     gotoXY(2, 5);
  180.     cout << "Отчество:";
  181.     carBase.middleName = getString(MAX_LENGTH_MIDDLE_NAME, 22, 5);
  182.     gotoXY(2, 6);
  183.     cout << "Потрачено бензина:";
  184.     carBase.spentFuel = getNumber(MAX_LENGTH_FUEL, 22, 6);
  185.     gotoXY(2, 7);
  186.     cout << "Кол-во машин:";
  187.     carBase.quantityCar = getNumber(MAX_LENGTH_CAR, 22, 7);
  188.  
  189.     return carBase;
  190. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement