private void addCarriage_btn_Click(object sender, EventArgs e) { try { int carriageNumber = int.Parse(carrNumber_txt.Text); int passNumber = int.Parse(passNum_txt.Text); int luggAmount = int.Parse(luggAmount_txt.Text); int comfort = int.Parse(comfortLvl_txt.Text); if (comfort > 0 && comfort < 5) { switch (comfort) { case 1: EconomCarriage economCarriage = new EconomCarriage(carriageNumber, passNumber, luggAmount, comfort); train.CarriagesConnected.Add(economCarriage); break; case 2: MiddleCarriage middleCarriage = new MiddleCarriage(carriageNumber, passNumber, luggAmount, comfort); train.CarriagesConnected.Add(middleCarriage); break; case 3: ExpensiveCarriage expensiveCarriage = new ExpensiveCarriage(carriageNumber, passNumber, luggAmount, comfort); train.CarriagesConnected.Add(expensiveCarriage); break; case 4: LuxuryCarriage luxuryCarriage = new LuxuryCarriage(carriageNumber, passNumber, luggAmount, comfort); train.CarriagesConnected.Add(luxuryCarriage); break; } DataGridUtils.CarriageListToGrid(dataGrid, train.CarriagesConnected); carrNumber_txt.Clear(); passNum_txt.Clear(); luggAmount_txt.Clear(); comfortLvl_txt.Clear(); } else { Messages.ShowError("Неправильно задан уровень комфорта!"); } } catch (Exception ex) { Messages.ShowError("Проверьте правильность вводимых данных!"); } }
static void Main(string[] args) { Console.WriteLine("Добро пожаловать! Выберите имя поезда: "); string name = Console.ReadLine(); Train train = new Train(name); while (true) { try { Console.WriteLine("Выберите подходящую функцию (1 - добавить вагон, 2 - найти вагоны в заданном диапазоне числа пассажиров, 3 - удалить вагон, 4 - вывести кол-во пассажиров, 5 - вывести кол-во багажа, 6 - отсортировать вагоны по комфорту, 7 - вывести список вагонов, 8 - выход из программы"); int condition = int.Parse(Console.ReadLine()); switch (condition) { case 1: Console.WriteLine("Введите через пробел: номер, число пассажиров, количество багажа, уровень комфорта(1-4): "); string values = Console.ReadLine(); string[] decomposeValues = values.Split(' '); if (int.Parse(decomposeValues[3]) > 0 && int.Parse(decomposeValues[3]) < 5) { switch (int.Parse(decomposeValues[3])) { case 1: EconomCarriage economCarriage = new EconomCarriage(int.Parse(decomposeValues[0]), int.Parse(decomposeValues[1]), int.Parse(decomposeValues[2]), int.Parse(decomposeValues[3])); train.CarriagesConnected.Add(economCarriage); break; case 2: MiddleCarriage middleCarriage = new MiddleCarriage(int.Parse(decomposeValues[0]), int.Parse(decomposeValues[1]), int.Parse(decomposeValues[2]), int.Parse(decomposeValues[3])); train.CarriagesConnected.Add(middleCarriage); break; case 3: ExpensiveCarriage expensiveCarriage = new ExpensiveCarriage(int.Parse(decomposeValues[0]), int.Parse(decomposeValues[1]), int.Parse(decomposeValues[2]), int.Parse(decomposeValues[3])); train.CarriagesConnected.Add(expensiveCarriage); break; case 4: LuxuryCarriage luxuryCarriage = new LuxuryCarriage(int.Parse(decomposeValues[0]), int.Parse(decomposeValues[1]), int.Parse(decomposeValues[2]), int.Parse(decomposeValues[3])); train.CarriagesConnected.Add(luxuryCarriage); break; } } else { Console.WriteLine("Неверно задан уровень комфорта!"); } break; case 2: Console.WriteLine("Введите через пробел: минимальное количество пассажиров, максимальное количество пассажиров: "); string passengersLimits = Console.ReadLine(); string[] decomposeLimits = passengersLimits.Split(' '); List <Carriage> result = train.FindAppropiateCarriages(int.Parse(decomposeLimits[0]), int.Parse(decomposeLimits[1])); Console.WriteLine("Результат: "); CarriageListToConsole(result); break; case 3: Console.WriteLine("Введите номер удаляемого вагона: "); int number = int.Parse(Console.ReadLine()); train.DisconnectCarriage(number); break; case 4: Console.WriteLine("Общее количество пассажиров: {0}", train.GetPassNumber()); break; case 5: Console.WriteLine("Общее количество багажа(кг): {0}", train.GetLuggAmount()); break; case 6: Console.WriteLine("Результат: "); train.ComfortSort(); CarriageListToConsole(train.CarriagesConnected); break; case 7: Console.WriteLine("Результат: "); CarriageListToConsole(train.CarriagesConnected); break; case 8: Environment.Exit(0); break; default: Console.WriteLine("Неверно выбранная операция!"); break; } } catch (Exception ex) { Console.WriteLine("Проверьте правильность вводимых данных!"); } } }