Exemplo n.º 1
0
        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("Проверьте правильность вводимых данных!");
            }
        }
Exemplo n.º 2
0
        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("Проверьте правильность вводимых данных!");
                }
            }
        }