Добавил:
YunonaKuzmicheva
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:меню без ф-ций
.txt#include <iostream>
#include <conio.h>
using namespace std;
void ShowMenu(int str)
{
system("cls");
cout << "ДЕРЕВЬЯ" << endl;
printf("%s1. Двоичное дерево\n", str == 1 ? " => " : " ");
printf("%s2. Преобразовать в АВЛ-дерево\n", str == 2 ? " = > " : " ");
printf("%s3. Парсинг\n", str == 3 ? " => " : " ");
printf("%s4. Выход\n", str == 4 ? " => " : " ");
}
void ShowMenu1(int str)
{
system("cls");
cout << "ДВОИЧНОЕ ДЕРЕВО" << endl;
printf("%s1. Добавить новый элемент\n", str == 1 ? " => " : " ");
printf("%s2. Удалить элемент\n", str == 2 ? " => " : " ");
printf("%s3. Найти элемент\n", str == 3 ? " => " : " ");
printf("%s4. Назад\n", str == 4 ? " => " : " ");
}
void ShowMenu2(int str)
{
system("cls");
cout << "ПАРСИНГ" << endl;
printf("%s1. Прямой обход\n", str == 1 ? " => " : " ");
printf("%s2. Обратный обход\n", str == 2 ? " => " : " ");
printf("%s3. Симметричный обход\n", str == 3 ? " => " : " ");
printf("%s4. Обход в ширину\n", str == 4 ? " => " : " ");
printf("%s5. Назад\n", str == 5 ? " => " : " ");
}
int main() {
setlocale(0, "");
int str = 1, ind = 4, usl = 0;
int com;
int str1 = 1, ind1 = 4, usl1 = 0, avalue = 0, rvalue = 0, svalue = 0;
int com1;
int str2 = 1, ind2 = 5, usl2 = 0;
int com2;
while (usl == 0) {
ShowMenu(str);
com = _getch();
if (com >= '1' && com <= '4') str = com - '0';
if (com == 224) {
com = _getch();
switch (com) {
case 72:
str = (str - 1 + 3) % 4 + 1;
break;
case 80:
str = str % 4 + 1;
break;
}
}
if (com == 13)
{
switch (str)
{
case 1: /*двоичное дерево*/
system("cls");
cout << "Двоичное дерево, прочтенное из файла:"<<endl;
//ф-ция которая показывает дерево
system("pause");
break;
case 2: /*АВЛ-дерево*/
system("cls");
cout << "Двоичное дерево, преобразованное в АВЛ:" << endl;
//ф-ция которая показывает дерево
while (usl1 == 0) {
ShowMenu1(str1);
com1 = _getch();
if (com1 >= '1' && com1 <= '4') str1 = com1 - '0';
if (com1 == 224) {
com1 = _getch();
switch (com1) {
case 72:
str1 = (str1 - 1 + 3) % 4 + 1;
break;
case 80:
str1 = (str1 - 1 + 1) % 4 + 1;
break;
}
}
if (com1 == 13)
{
switch (str1)
{
case 1: //добавление эл-та
system("cls");
cout << "Введите новый элемент:" << endl;
cin >> avalue;
//ф-ция добавления
system("pause");
break;
case 2: //удаление эл-та
system("cls");
cout << "Какой элемент удалить?:" << endl;
cin >> rvalue;
//ф-ция удаления
system("pause");
break;
case 3: //поиск эл-та
system("cls");
cout << "Какой элемент найти?" << endl;
cin >> svalue;
//ф-ция поиск
system("pause");
break;
case 4:
usl1 = 1;
str1 = 1;
break;
}
}
}
usl1 = 0;
break;
case 3: /*парсинг*/
system("cls");
cout << "Текущее дерево:" << endl;
//ф-ция которая показывает дерево
while (usl2 == 0) {
ShowMenu2(str2);
com2 = _getch();
if (com2 >= '1' && com2 <= '5') str2 = com2 - '0';
if (com2 == 224) {
com2 = _getch();
switch (com2) {
case 72:
str2 = (str2 - 1 + 4) % 5 + 1;
break;
case 80:
str2 = (str2 - 1 + 1) % 5 + 1;
break;
}
}
if (com2 == 13)
{
switch (str2)
{
case 1: //прямой
system("cls");
cout << "Прямой обход дерева:" << endl;
//ф-ция
system("pause");
break;
case 2: //обратный
system("cls");
cout << "Обратный обход дерева:" << endl;
//ф-ция
system("pause");
break;
case 3: //симметричный
system("cls");
cout << "Симметричный обход дерева:" << endl;
//ф-ция
system("pause");
break;
case 4: //в ширину
system("cls");
cout << "Обход дерева в ширину:" << endl;
//ф-ция
system("pause");
break;
case 5:
usl2 = 1;
str2 = 1;
break;
}
}
}
usl2 = 0;
break;
case 4:
system("cls");
return 0;
break;
}
}
}
}
Соседние файлы в предмете Алгоритмы и системы данных
