Created
June 16, 2016 18:47
-
-
Save vbifonixor/5398f20d1f1f6c4d01418968fc004943 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
#include <locale.h> | |
#include <string> | |
#include "List.h" | |
#include "Tree.h" | |
#define MAIN_MENU 0 | |
#define LIST_MENU 1 | |
#define TREE_MENU 2 | |
using namespace std; | |
void PrintHelp(int Menu) { | |
switch(Menu){ | |
case MAIN_MENU: | |
cout<<"Для работы со списком используйте \'List\'.\nДля работы с деревом используйте \'Tree\'.\n"; | |
break; | |
case LIST_MENU: | |
puts("\'AddFirst\' - Добавить элемент в начало списка."); | |
puts("\'AddLast\' - Добавить элемент в конец списка."); | |
puts("\'Find\' - Поиск элемента в списке."); | |
puts("\'Delete\' - Удаление элемента по ключу."); | |
puts("\'DeleteFirst\' - Удалить первый элемент списка."); | |
puts("\'DeleteLast\' - Удалить послежний элемент списка."); | |
puts("\'Count\' - Подсчет количества элементов в списке."); | |
puts("\'Print\' - Вывод всего списка на экран."); | |
puts("\'Task2\' - Выполнить задание 4."); | |
puts("\'Task15\' - Выполнить задание 8."); | |
puts("\'Task19\' - Выполнить задание 13."); | |
break; | |
case TREE_MENU: | |
cout << "\'Create\' - Создать дерево.\n"; | |
cout << "\'Add\' - Добавить элемент в дерево.\n"; | |
cout << "\'Print\' - Вывод дерева на экран.\n"; | |
cout << "\'Delete\' - Удаление элемента.\n"; | |
cout << "\'Task1\' - Выполнить задание 1.\n"; | |
cout << "\'Task2\' - Выполнить задание 2.\n"; | |
break; | |
} | |
} | |
void End() { | |
List::Destroy(); | |
Tree::Destroy(); | |
cout<<"Удачи!"; | |
system("PAUSE>>void"); | |
exit(EXIT_SUCCESS); | |
} | |
void ListMenu() { | |
puts("Вы выбрали работу со списком. Для выхода в главное меню используйте \'Up\'."); | |
string cmd; | |
while (true) { | |
cout << "Список > "; | |
cin >> cmd; | |
if (cmd == "AddLast")List::AddLast(); | |
else if (cmd == "AddFirst")List::AddFirst(); | |
else if (cmd == "Print") List::PrintFullList(); | |
else if (cmd == "Delete")List::Delete(); | |
else if (cmd == "DeleteFirst")List::PopFirst(); | |
else if (cmd == "DeleteLast")List::Pop(); | |
else if (cmd == "Find")List::Find(); | |
else if (cmd == "Count")cout << "В списке " << List::Count() << " элементов.\n"; | |
else if (cmd == "Help")PrintHelp(LIST_MENU); | |
else if (cmd == "Task2")List::Task2(); | |
else if (cmd == "Task15")List::Task15(); | |
else if (cmd == "Task19")List::Task19(); | |
else if (cmd == "Up")return; | |
else if (cmd == "Exit")End(); | |
else cout << "Неправильная команда!\n"; | |
} | |
} | |
void TreeMenu() { | |
string cmd; | |
while (true) { | |
cout << "Дерево > "; | |
cin >> cmd; | |
if (cmd == "Create")Tree::Create(); | |
else if (cmd == "Add")Tree::Add(); | |
else if (cmd == "Print")Tree::Print(); | |
else if (cmd == "Delete")Tree::Delete(); | |
else if (cmd == "Task1")Tree::Task1(); | |
else if (cmd == "Task2")Tree::Task2(); | |
else if (cmd == "Help")PrintHelp(TREE_MENU); | |
else if (cmd == "Up")return; | |
else if (cmd == "Exit")End(); | |
else cout << "Неправильная команда!\n"; | |
} | |
} | |
void main(int argc, char **argv) { | |
setlocale(LC_ALL, "Russian"); | |
puts("Лабораторная работа №3 | Группа ДКП-152п | Подгруппа №8"); | |
string cmd; | |
PrintHelp(MAIN_MENU); | |
while (true) { | |
cout << ">"; | |
cin >> cmd; | |
if (cmd == "List")ListMenu(); | |
else if (cmd == "Tree")TreeMenu(); | |
else if (cmd == "Help")PrintHelp(MAIN_MENU); | |
else if (cmd == "Exit")End(); | |
else cout<<"Неправильная команда! Для помощи введите \'Help\'.\n"; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment