Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "menu.h"
- #include "list.h"
- CarBase inputBase();
- int main()
- {
- SetConsoleCP(1251);
- SetConsoleOutputCP(1251);
- hideCursor(true);
- system("mode con cols=110 lines=25");
- system("color 70");
- string mainMenu[] {
- "Добавить автобазу в список ",
- "Просмотр и редактирование списка ",
- "Сортировка списка ",
- "Очистка списка ",
- "Запись в файл ",
- "Загрузка из файла ",
- "Содать отчет о топливе ",
- "Просмотр отчета о топливе ",
- "Закрыть программу "};
- string sortMenu[]{
- "Сортировка по номеру автобазы ",
- "Сортировка по фамилии (A->Я) ",
- "Сортировка по фамилии (Я->A) ",
- "Сортировка по количеству машин ",
- "Сортировка по израсходованному топливу ",
- "Выход в главное меню " };
- string changeMenu[]{
- "Изменить номер ",
- "Изменить фамилию ",
- "Изменить имя ",
- "Изменить отчество ",
- "Изменить количество машин ",
- "Изменить расход топлива ",
- "Удалить автобазу ",
- "Вернуться к просмотру страницы "};
- string downloadMenu[]{
- "Оригинальный список ",
- "Последний сохраненный список ",
- "Вернуться в главное меню ",
- };
- string nameField;
- // Переменные для хранения выбранного пункта меню
- int itemM, itemS, itemD;
- // Переменные для хранения координат пункта меню
- int yM, yS, yD, xM, xS, xD;
- main:
- itemM = 0, yM = 1, xM = 2;
- showMainMenu(mainMenu);
- while (true) {
- switch (_getch())
- {
- case UP:
- shiftUp(itemM, yM, xM, mainMenu);
- break;
- case DOWN:
- shiftDown(itemM, yM, xM, mainMenu, SIZE_MAIN_MENU);
- break;
- case ENTER:
- switch (itemM) {
- case 0:
- add(inputBase());
- goto main;
- case 1:
- printBase(changeMenu);
- goto main;
- case 2:
- itemS = 0, yS = 1, xS = 2;
- showSortMenu(sortMenu);
- while (true) {
- switch (_getch())
- {
- case UP:
- shiftUp(itemS, yS, xS, sortMenu);
- break;
- case DOWN:
- shiftDown(itemS, yS, xS, sortMenu, SIZE_SORT_MENU);
- break;
- case ENTER:
- switch (itemS)
- {
- case 0:
- // по номеру автобазы
- nameField = "numberBase";
- sort(nameField);
- goto main;
- case 1:
- // по фамилии а->z
- nameField = "A.Z.lastName";
- sort(nameField);
- goto main;
- case 2:
- // по фамилии z->a
- nameField = "Z.A.lastName";
- sort(nameField);
- goto main;
- case 3:
- // по количеству машин
- nameField = "quantityCar";
- sort(nameField);
- goto main;
- case 4:
- // по израсходованному топливу
- nameField = "spentFuel";
- sort(nameField);
- goto main;
- case 5:
- goto main;
- }
- }
- }
- goto main;
- case 3:
- clearList();
- goto main;
- case 4:
- writeToFile();
- goto main;
- case 5:
- itemD = 0, yD = 9, xD = 32;
- showDownloadMenu(downloadMenu);
- while(true) {
- switch (_getch())
- {
- case UP:
- shiftUp(itemD, yD, xD, downloadMenu);
- break;
- case DOWN:
- shiftDown(itemD, yD, xD, downloadMenu, SIZE_DOWNLOAD_MENU);
- break;
- case ENTER:
- switch (itemD) {
- case 0:
- readFromFile("BaseOrig.txt");
- goto main;
- case 1:
- readFromFile("BaseWork.txt");
- goto main;
- case 2:
- goto main;
- }
- break;
- }
- }
- goto main;
- case 6:
- createFuelReport();
- goto main;
- case 7:
- printFuelReport();
- goto main;
- case 8:
- return 0;
- }
- }
- }
- }
- CarBase inputBase()
- {
- system("cls");
- printFrame(0, 24, 0, 110);
- gotoXY(45, 0);
- cout << " ДОБАВЛЕНИЕ БАЗЫ ";
- CarBase carBase;
- gotoXY(2, 2);
- cout << "Номер базы:";
- carBase.numberBase = getNumber(MAX_LENGTH_NBASE, 22, 2);
- gotoXY(2, 3);
- cout << "Фамилия:";
- carBase.lastName = getString(MAX_LENGTH_LAST_NAME, 22, 3);
- gotoXY(2, 4);
- cout << "Имя:";
- carBase.firstName = getString(MAX_LENGTH_FIRST_NAME, 22, 4);
- gotoXY(2, 5);
- cout << "Отчество:";
- carBase.middleName = getString(MAX_LENGTH_MIDDLE_NAME, 22, 5);
- gotoXY(2, 6);
- cout << "Потрачено бензина:";
- carBase.spentFuel = getNumber(MAX_LENGTH_FUEL, 22, 6);
- gotoXY(2, 7);
- cout << "Кол-во машин:";
- carBase.quantityCar = getNumber(MAX_LENGTH_CAR, 22, 7);
- return carBase;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement