//Добавить объект private void Add() { string[] addMenu = { "Добавить монархию", "Добавить королевство", "Добавить республику", "Назад" }; while (true) { var sw = LiveMenu.Menu("Выберите действие:", addMenu); StateInterface state; switch (sw) { case 0: Console.WriteLine("Введите монархию для добавления: "); state = new Monarchy(); state.Input(); _states.Add(state.Return_Name() + " " + state.Return_GDP(), state); Console.WriteLine("Объект успешно добавлен.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); break; case 1: Console.WriteLine("Введите королевство для добавления:"); state = new Kingdom(); state.Input(); _states.Add(state.Return_Name() + " " + state.Return_GDP(), state); Console.WriteLine("Объект успешно добавлен.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); break; case 2: Console.WriteLine("Введите республику для добавления:"); state = new Republic(); state.Input(); _states.Add(state.Return_Name() + " " + state.Return_GDP(), state); Console.WriteLine("Объект успешно добавлен.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); break; case 3: return; } } }
private static void FindState(StateInterface[] state) //Поиск объекта в коллекции { Array.Sort(state, new SortByGDP()); bool ok = true; while (ok) { int index; int choice = LiveMenu.Menu(headlines[1], search); switch (choice) { case 0: Monarchy monarchy = new Monarchy(); monarchy.Input(); index = Array.BinarySearch(state, monarchy); try { Monarchy tmp = state[index] as Monarchy; Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n Искомый объект: "); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); tmp.Show(); Console.WriteLine(); Console.Write("\n Номер объекта в коллекции: {0}", index + 1); Console.WriteLine(); } catch { Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n Искомый объект: "); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); monarchy.Show(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.Write("\n Отсутствует в коллекции."); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); } Console.Write("\n" + end); Console.ReadLine(); break; case 1: Kingdom kingdom = new Kingdom(); kingdom.Input(); index = Array.BinarySearch(state, kingdom); try { Kingdom tmp = state[index] as Kingdom; Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n Искомый объект: "); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); tmp.Show(); Console.WriteLine(); Console.Write("\n Номер объекта в коллекции: {0}", index + 1); Console.WriteLine(); } catch { Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n Искомый объект: "); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); kingdom.Show(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.Write("\n Отсутствует в коллекции."); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); } Console.Write("\n" + end); Console.ReadLine(); break; case 2: Republic republic = new Republic(); republic.Input(); index = Array.BinarySearch(state, republic); try { Republic tmp = state[index] as Republic; Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n Искомый объект: "); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); tmp.Show(); Console.WriteLine(); Console.Write("\n Номер объекта в коллекции: {0}", index + 1); Console.WriteLine(); } catch { Console.ForegroundColor = ConsoleColor.Cyan; Console.Write("\n Искомый объект: "); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); republic.Show(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.Write("\n Отсутствует в коллекции."); Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(); } Console.Write("\n" + end); Console.ReadLine(); break; case 3: ok = false; break; } } }
public static ArrayList Add(ref State[] arr) //Добавление объекта в коллекцию { bool ok = true; ArrayList STATE = new ArrayList(); while (ok) { int choice = LiveMenu.Menu(headlines[1], autoHand); switch (choice) { case 0: STATE.AddRange(arr); int decision = LiveMenu.Menu(headlines[1], addInfo); switch (decision) { case 0: Monarchy monarchy = new Monarchy(); monarchy.Input(); STATE.Add(monarchy); break; case 1: Kingdom kingdom = new Kingdom(); kingdom.Input(); STATE.Add(kingdom); break; case 2: Republic republic = new Republic(); republic.Input(); STATE.Add(republic); break; case 3: break; } Console.WriteLine(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Объект успешно добавлен."); Console.ForegroundColor = ConsoleColor.White; Console.Write("\n " + end); Console.ReadLine(); return(STATE); case 1: int k = rnd.Next(1, 4); STATE.AddRange(arr); if (k == 1) { Republic newState = new Republic(); STATE.Add(newState); } if (k == 2) { Monarchy newState = new Monarchy(); STATE.Add(newState); } if (k == 3) { Kingdom newState = new Kingdom(); STATE.Add(newState); } Console.WriteLine(); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Объект успешно добавлен."); Console.ForegroundColor = ConsoleColor.White; Console.Write("\n " + end); Console.ReadLine(); return(STATE); } } return(STATE); }
//Удалить объект private void Delete(out int k) { string[] addMenu = { "Удалить монархию", "Удалить королевство", "Удалить республику", "Назад" }; k = 0; while (true) { var sw = LiveMenu.Menu("Выберите действие:", addMenu); StateInterface state; switch (sw) { case 0: Console.WriteLine("Введите монархию для удаления:"); state = new Monarchy(); state.Input(); if (!_states.ContainsKey(state.Return_Name() + " " + state.Return_GDP())) { Console. WriteLine("Объект для удаления отсутсвует в словаре.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } else { _states.Remove(state.Return_Name() + " " + state.Return_GDP()); Console. WriteLine("Объект успешно удален.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } if (_states.Count == 0) { k = 6; return; } break; case 1: Console.WriteLine("Введите королевство для удаления:"); state = new Kingdom(); state.Input(); if (!_states.ContainsKey(state.Return_Name() + " " + state.Return_GDP())) { Console. WriteLine("Объект для удаления отсутсвует в словаре.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } else { _states.Remove(state.Return_Name() + " " + state.Return_GDP()); Console. WriteLine("Объект успешно удален.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } if (_states.Count == 0) { k = 6; return; } break; case 2: Console.WriteLine("Введите республику для удаления:"); state = new Republic(); state.Input(); if (!_states.ContainsKey(state.Return_Name() + " " + state.Return_GDP())) { Console. WriteLine("Объект для удаления отсутсвует в словаре.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } else { _states.Remove(state.Return_Name() + " " + state.Return_GDP()); Console. WriteLine("Объект успешно удален.\n\n\nДля продолженния нажать на любую клавишу..."); Console.ReadKey(true); } if (_states.Count == 0) { k = 6; return; } break; case 3: return; } } }
//Тип поиска private void TypeFind() { string[] queriesMenu = { "Поиск элемента типа Monarchy", "Поиск элемента типа Kingdom", "Поиск элемента типа Republic", "Назад" }; while (true) { var sw = LiveMenu.Menu("Выберите нужную опцию:", queriesMenu); switch (sw) { case 0: StateInterface state = new Monarchy(); state.Input(); if (_states.ContainsKey(state.Return_Name() + " " + state.Return_GDP())) { Console.WriteLine("\nОбъект найден: "); Console.WriteLine("\n{0}.\n\n\nДля продолженния нажать на любую клавишу...", _states[state.Return_Name() + " " + state.Return_GDP()]); } else { Console.WriteLine("Заданный объект не был найден в стэке.\n\n\nДля продолженния нажать на любую клавишу..."); } Console.ReadKey(true); break; case 1: state = new Kingdom(); state.Input(); if (_states.ContainsKey(state.Return_Name() + " " + state.Return_GDP())) { Console.WriteLine("\nОбъект найден: "); Console.WriteLine("\n{0}.\n\n\nДля продолженния нажать на любую клавишу...", _states[state.Return_Name() + " " + state.Return_GDP()]); } else { Console.WriteLine("Заданный объект не был найден в стэке.\n\n\nДля продолженния нажать на любую клавишу..."); } Console.ReadKey(true); break; case 2: state = new Republic(); state.Input(); if (_states.ContainsKey(state.Return_Name() + " " + state.Return_GDP())) { Console.WriteLine("\nОбъект найден: "); Console.WriteLine("\n{0}.\n\n\nДля продолженния нажать на любую клавишу...", _states[state.Return_Name() + " " + state.Return_GDP()]); } else { Console.WriteLine("Заданный объект не был найден в стэке.\n\n\nДля продолженния нажать на любую клавишу..."); } Console.ReadKey(true); break; case 3: return; } } }