Пример #1
0
        static void Main(string[] args)
        {
            Audi[] allroadAudi = new Audi[7]; // массив марки Ауди модели "Allroad"
            for (int i = 0; i < allroadAudi.Length; i++)
            {
                allroadAudi[i] = new Audi(1000, 20, 40, 4.3, 1.5, 1.9, 130, "Allroad", 7.5);
            }

            Audi[] eTronAudi = new Audi[3];// массив марки Ауди модели "e-tron"
            for (int i = 0; i < eTronAudi.Length; i++)
            {
                eTronAudi[i] = new Audi(2350, 34, 37.8, 4.6, 1.8, 2, 160, "e-tron", 5.4);
            }

            Sedan[] A1Sedan = new Sedan[8]; // массив марки Седан модели "А1"
            for (int i = 0; i < A1Sedan.Length; i++)
            {
                A1Sedan[i] = new Sedan(3120, 43.8, 44.1, 5.1, 1.9, 2.5, 210, "A1", 4.2);
            }

            Suv[] Q1Suv = new Suv[5]; //массив марки Сув модели "Q1"
            for (int i = 0; i < Q1Suv.Length; i++)
            {
                Q1Suv[i] = new Suv(3400, 35.8, 39.7, 5, 3, 4, 250, "Q1", 8.4);
            }

            Coupe[] T1Coupe = new Coupe[4]; // массив марки Коуп модели "T1"
            for (int i = 0; i < T1Coupe.Length; i++)
            {
                T1Coupe[i] = new Coupe(4327, 54.6, 54, 6, 3.4, 2.3, 180, "T1", 7.8);
            }

            //Этот способ мне не нравится, но я другого не придумал как их всех заапкастить к базовому классу и добавить всех в один массив
            //Ну там скорее не апкаст, а даункст получился, потому что когда добавляешь в ArrayList, то оно заапкастилось к Обджекту, а потом надо даункастить в Car
            //Ну то есть получилось так, что сначала заапкастил к обджекту, а потом даункаст к Car, но в итоге это можно назвать апкаст
            ArrayList helpList = new ArrayList();

            helpList.AddRange(allroadAudi);
            helpList.AddRange(eTronAudi);
            helpList.AddRange(A1Sedan);
            helpList.AddRange(Q1Suv);
            helpList.AddRange(T1Coupe);

            //Апкаст(а если точнее даункаст)
            Car[] taksPark = new Car[helpList.Count];
            for (int i = 0; i < helpList.Count; i++)
            {
                taksPark[i] = (Car)helpList[i];
            }

            Console.WriteLine("Вам диапазон надо ввести для скорости, минимальное и максимальное значение скорости:");

            int maxValue = 0;

            while (true)
            {
                try
                {
                    Console.WriteLine("Введите максимальное значение:");
                    maxValue = Int32.Parse(Console.ReadLine());
                    break;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Сложно ввести число?");
                    continue;
                }
            }
            double       costTaks     = 0;
            MyCollection myCollection = new MyCollection(taksPark, maxValue);

            costTaks = myCollection.GetCost;
            Console.WriteLine("cost = {0}", costTaks);

            List <Car> desiredCars = myCollection.GetDesiredCars();

            foreach (Car thisCar in desiredCars)
            {
                Console.WriteLine("model - {0}, mark - {1}, maxSpeed - {2}", thisCar.Model, thisCar.Mark, thisCar.MaxSpeed);
            }

            myCollection.SortByGasolinePerKilometr();
            Console.WriteLine("Сортировка по бензину, не стал заморачиваться над красотой вывода");
            foreach (Car thisCar in myCollection)
            {
                Console.WriteLine("model - {0}, mark - {1}, gasoline per kilometr - {2}", thisCar.Model, thisCar.Mark, thisCar.GasolinePerKilometer);
            }

            Console.ReadKey();
        }
Пример #2
0
        static void Main(string[] args)
        {
            double cost_taks = 0;

            Audi[] allroad_audi = new Audi[4]; // массив марки Ауди модели "Allroad"
            for (int i = 0; i < allroad_audi.Length; i++)
            {
                allroad_audi[i] = new Audi(1000, 20, 40, 4.3, 1.5, 1.9, 130, "Allroad", 7.5);
            }

            Audi[] e_tron_audi = new Audi[4];// массив марки Ауди модели "e-tron"
            for (int i = 0; i < e_tron_audi.Length; i++)
            {
                e_tron_audi[i] = new Audi(2350, 34, 37.8, 4.6, 1.8, 2, 160, "e-tron", 5.4);
            }

            Sedan[] A1_sedan = new Sedan[4]; // массив марки Седан модели "А1"
            for (int i = 0; i < A1_sedan.Length; i++)
            {
                A1_sedan[i] = new Sedan(3120, 43.8, 44.1, 5.1, 1.9, 2.5, 210, "A1", 4.2);
            }

            Suv[] Q1_suv = new Suv[4]; //массив марки Сув модели "Q1"
            for (int i = 0; i < Q1_suv.Length; i++)
            {
                Q1_suv[i] = new Suv(3400, 35.8, 39.7, 5, 3, 4, 250, "Q1", 8.4);
            }

            Coupe[] T1_coupe = new Coupe[4]; // массив марки Коуп модели "T1"
            for (int i = 0; i < T1_coupe.Length; i++)
            {
                T1_coupe[i] = new Coupe(4327, 54.6, 54, 6, 3.4, 2.3, 180, "T1", 7.8);
            }

            ArrayList help_list = new ArrayList();//это просто божественное решение, я аж сам в a*уе

            help_list.AddRange(allroad_audi);
            help_list.AddRange(e_tron_audi);
            help_list.AddRange(A1_sedan);
            help_list.AddRange(Q1_suv);
            help_list.AddRange(T1_coupe);

            Car[] taks_park = new Car[help_list.Count];//а это я вообще когда придумал чуть со стула не упал...
            for (int i = 0; i < help_list.Count; i++)
            {
                taks_park[i] = (Car)help_list[i];//А ИМЕННО ВОТ ЭТА СТРОЧКА
            }
            for (int i = 0; i < taks_park.Length; i++)
            {
                cost_taks += taks_park[i].Cost;
            }

            Array.Sort(taks_park, new CompareGasoline());

            Console.WriteLine("Сортировка по бензину, не стал заморачиваться над красотой вывода");
            for (int i = 0; i < taks_park.Length; i++)
            {
                Console.WriteLine("model = {0}, mark = {1}, gasoline per kilometr = {2}", taks_park[i].Model, taks_park[i].Mark, taks_park[i].GasolinePerKilometer);
            }

            Console.WriteLine("Цена автопарка - {0}", cost_taks);
            Console.WriteLine("Вам еще диапазон надо ввести для скорости, минимальное и максимальное значение скорости:");

            int max_value = 0;

            while (true)
            {
                try
                {
                    Console.WriteLine("Введите максимальное значение:");
                    max_value = Int32.Parse(Console.ReadLine());
                    break;
                }
                catch (FormatException)
                {
                    Console.WriteLine("Сложно ввести число?");
                    continue;
                }
            }

            for (int i = 0; i < taks_park.Length; i++)
            {
                if (taks_park[i].MaxSpeed <= max_value)
                {
                    Console.WriteLine("model - {0}, mark - {1}, maxSpeed - {2}", taks_park[i].Model, taks_park[i].Mark, taks_park[i].MaxSpeed);;
                }
            }
            Console.ReadKey();
        }
Пример #3
0
        static void Main(string[] args)
        {
            CarProvider     carProvider     = new CarProvider();
            ParkingProvider parkingProvider = new ParkingProvider();

            ParkingSystem parkingSystem = new ParkingSystem();


            while (true)
            {
                Console.WriteLine("--------------------------------------------------");
                Console.WriteLine("--------------------------------------------------");
                Console.WriteLine("\tConsole Parking Application");
                Console.WriteLine("--------------------------------------------------");
                Console.WriteLine("--------------------------------------------------\n");

                Console.WriteLine("Choose one of the following menues:");
                Console.WriteLine("\t1) - Select Parking");
                Console.WriteLine("\t2) - Add Parking");
                Console.WriteLine("\t3) - Add Car");
                Console.WriteLine("\t -------------------");
                Console.Write("\tYour Option?");

                var choosenItem = Console.ReadLine();
                if (choosenItem == "1")
                {
                    carProvider.ReadCars();
                    parkingProvider.ReadParkings();
                    int     flagToParkings = 1;
                    Parking neededParking  = new Parking();
                    int     parkingID;
                    while (true)
                    {
                        if (flagToParkings == 1)
                        {
                            parkingProvider.ListParkings();                         //se zemaat site parkinzi i se printaat na konzola
                            parkingID     = Convert.ToInt32(Console.ReadLine());    //se zema ID od parking
                            neededParking = parkingProvider.FindParking(parkingID); //se zema parkingot so vneseno id
                        }
                        Console.WriteLine("Choose one of the following options for choosen parking:");
                        Console.WriteLine("\t------------------");
                        Console.WriteLine("\t1) - List Cars");
                        Console.WriteLine("\t2) - Park car");
                        Console.WriteLine("\t3) - Profit");
                        Console.WriteLine("\t------------------");
                        Console.WriteLine("\t0) - Cancel");
                        Console.Write("Your Option?");
                        var choosenOption = Console.ReadLine();
                        if (choosenOption == "1")
                        {
                            List <Car> cars = carProvider.CarsOfParking(neededParking); //se zemaat site koli od toj parking
                            carProvider.ListCars(cars);
                            flagToParkings = 0;
                            continue;
                        }
                        else if (choosenOption == "2")
                        {
                            List <Car> cars = carProvider.NotParkedCars(); //se zemaat site koli od toj parking
                            carProvider.ListCars(cars);
                            Console.WriteLine("Choose ID of one car to park");
                            var carID     = Convert.ToInt32(Console.ReadLine());
                            Car neededCar = carProvider.findCar(carID);
                            parkingProvider.parkCar(neededCar, neededParking);
                            flagToParkings = 0;
                        }
                        else if (choosenOption == "3")
                        {
                            parkingProvider.ParkingProfit(neededParking);
                            flagToParkings = 0;
                        }
                        else if (choosenOption == "0")
                        {
                            flagToParkings = 1;
                            break;
                        }
                        else
                        {
                            Console.WriteLine("Wrong choise!");
                        }
                    }
                }
                else if (choosenItem == "2")
                {
                    Console.WriteLine("Insert ID for your parking");
                    int id = Convert.ToInt32(Console.ReadLine());
                    Console.WriteLine("Your parking name:");
                    String name = Console.ReadLine();
                    Console.WriteLine("Insert number of capacity for your parking:");
                    int        capacity = Convert.ToInt32(Console.ReadLine());
                    List <Car> cars     = new List <Car>();
                    Parking    parking  = new Parking();
                    parking.Id        = id;
                    parking.Name      = name;
                    parking.Capacity  = capacity;
                    parking.Cars      = cars;
                    parking.FreeSpace = capacity;
                    parking.Profit    = 0;
                    parkingProvider.WriteParking(parking);
                }
                else if (choosenItem == "3")
                {
                    Console.WriteLine("Choose one of the next models:");
                    Console.WriteLine("\ta - Audi");
                    Console.WriteLine("\tb - BMW");
                    Console.WriteLine("\tm - Mercedes");
                    Console.WriteLine("\t------------------");
                    Console.WriteLine("\t0 - Cancel");
                    Console.Write("\tYour Option?");
                    var choosenModel = Console.ReadLine();

                    switch (choosenModel)
                    {
                    case "a":
                        Audi audi = new Audi();

                        audi.Model = "Audi";
                        Console.WriteLine("Write ID for your car");
                        audi.ID = Convert.ToInt32(Console.ReadLine());
                        Console.WriteLine("Enter your Registration Plate");
                        audi.RegistrationPlate = Console.ReadLine();
                        Console.WriteLine("Enter number of seats between 1-5");
                        audi.Seats = Convert.ToInt32(Console.ReadLine());

                        Console.WriteLine("Choose your car's color");
                        Console.WriteLine("\t0 - Blue");
                        Console.WriteLine("\t1 - Green");
                        Console.WriteLine("\t2 - Red");
                        Console.WriteLine("\t3 - Yellow");
                        String colA = Convert.ToString(Console.ReadLine());
                        audi.Color = (Color)Enum.Parse(typeof(Color), colA, true);

                        Console.WriteLine("Enter dimensions of your car");
                        Console.WriteLine("Insert X for first dimension");
                        double point1X = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Insert Y for first dimension");
                        double point1Y = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Insert X for second dimension");
                        double point2X = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Insert Y for second dimension");
                        double     point2Y   = Convert.ToDouble(Console.ReadLine());
                        Point      a         = new Point(point1X, point1Y);
                        Point      b         = new Point(point2X, point2Y);
                        Dimensions dimension = new Dimensions(a, b);
                        audi.Dimensions = dimension;
                        Console.WriteLine("Write true or false if your car is Hybrid");
                        audi.Hybrid = Convert.ToBoolean(Console.ReadLine());
                        carProvider.WriteCar(audi);

                        break;

                    case "b":
                        BMW bmw = new BMW();

                        bmw.Model = "BMW";
                        Console.WriteLine("Write ID for your car");
                        bmw.ID = Convert.ToInt32(Console.ReadLine());
                        Console.WriteLine("Enter your Registration Plate");
                        bmw.RegistrationPlate = Console.ReadLine();
                        Console.WriteLine("Enter number of seats between 1-5");
                        bmw.Seats = Convert.ToInt32(Console.ReadLine());

                        Console.WriteLine("Choose your car's color");
                        Console.WriteLine("\t0 - Blue");
                        Console.WriteLine("\t1 - Green");
                        Console.WriteLine("\t2 - Red");
                        Console.WriteLine("\t3 - Yellow");
                        String colB = Convert.ToString(Console.ReadLine());
                        bmw.Color = (Color)Enum.Parse(typeof(Color), colB, true);

                        Console.WriteLine("Enter dimensions of your car");
                        Console.WriteLine("Insert X for first dimension");
                        double p1X = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Insert Y for first dimension");
                        double p1Y = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Insert X for second dimension");
                        double p2X = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Insert Y for second dimension");
                        double     p2Y        = Convert.ToDouble(Console.ReadLine());
                        Point      aa         = new Point(p1X, p1Y);
                        Point      bb         = new Point(p2X, p2Y);
                        Dimensions dimension1 = new Dimensions(aa, bb);
                        bmw.Dimensions = dimension1;

                        Console.WriteLine("Write true or false if your car has High Domain Air Conditioner\n");
                        bmw.HighDomainAirConditioner = Convert.ToBoolean(Console.ReadLine());
                        Console.WriteLine("Write true or false if your car has Double Bass\n");
                        bmw.DoubleBass = Convert.ToBoolean(Console.ReadLine());
                        Console.WriteLine("How many speakers do you have?\n");
                        bmw.Speakers = Convert.ToInt32(Console.ReadLine());
                        carProvider.WriteCar(bmw);

                        break;

                    case "m":
                        Mercedes mercedes = new Mercedes();

                        mercedes.Model = "Mercedes";
                        Console.WriteLine("Write ID for your car");
                        mercedes.ID = Convert.ToInt32(Console.ReadLine());
                        Console.WriteLine("Enter your Registration Plate");
                        mercedes.RegistrationPlate = Console.ReadLine();
                        Console.WriteLine("Enter number of seats between 1-5");
                        mercedes.Seats = Convert.ToInt32(Console.ReadLine());

                        Console.WriteLine("Choose your car's color");
                        Console.WriteLine("\t0 - Blue");
                        Console.WriteLine("\t1 - Green");
                        Console.WriteLine("\t2 - Red");
                        Console.WriteLine("\t3 - Yellow");
                        String colM = Convert.ToString(Console.ReadLine());
                        mercedes.Color = (Color)Enum.Parse(typeof(Color), colM, true);

                        Console.WriteLine("Enter dimensions of your car");
                        Console.WriteLine("Insert X for first dimension");
                        double po1X = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Insert Y for first dimension");
                        double po1Y = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Insert X for second dimension");
                        double po2X = Convert.ToDouble(Console.ReadLine());
                        Console.WriteLine("Insert Y for second dimension");
                        double     po2Y       = Convert.ToDouble(Console.ReadLine());
                        Point      aaa        = new Point(po1X, po1Y);
                        Point      bbb        = new Point(po2X, po2Y);
                        Dimensions dimension2 = new Dimensions(aaa, bbb);
                        mercedes.Dimensions = dimension2;

                        Console.WriteLine("Write true or false if your car has Oxygen system!");
                        mercedes.OxygenSystem = Convert.ToBoolean(Console.ReadLine());
                        Console.WriteLine("Write true or false if your car has Bullet Proof Glass");
                        mercedes.BulletProofGlass = Convert.ToBoolean(Console.ReadLine());
                        carProvider.WriteCar(mercedes);

                        break;

                    case "0":
                        break;
                    }
                }
                else
                {
                    Console.WriteLine("Wrong choise!");
                }
            }
        }