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(); }
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(); }
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!"); } } }