コード例 #1
0
 public Car(
     string model,
     Engine engine,
     string weight = DefaultValue,
     string color = DefaultValue)
 {
     this.Model = model;
     this.Engine = engine;
     this.Weight = weight;
     this.Color = color;
 }
コード例 #2
0
        static void Main(string[] args)
        {
            List <Car>    cars    = new List <Car>();
            List <Engine> engines = new List <Engine>();

            int count = int.Parse(Console.ReadLine());

            for (int i = 0; i < count; i++)
            {
                string[] dataEngine = Console.ReadLine()
                                      .Split(" ", StringSplitOptions.RemoveEmptyEntries)
                                      .ToArray();

                string engineModel = dataEngine[0];
                int    power       = int.Parse(dataEngine[1]);

                int displacement = 0;
                var efficiency   = "n/a";

                if (dataEngine.Length == 4)
                {
                    displacement = int.Parse(dataEngine[2]);
                    efficiency   = dataEngine[3];
                }
                else if (dataEngine.Length == 3)
                {
                    if (char.IsLetter(char.Parse(dataEngine[2][0].ToString())))
                    {
                        efficiency = dataEngine[2];
                    }
                    else
                    {
                        displacement = int.Parse(dataEngine[2]);
                    }
                }

                Engine engine = new Engine(engineModel, power, displacement, efficiency);
                engines.Add(engine);
            }

            count = int.Parse(Console.ReadLine());

            for (int i = 0; i < count; i++)
            {
                string[] dataCar = Console.ReadLine()
                                   .Split(" ", StringSplitOptions.RemoveEmptyEntries)
                                   .ToArray();

                string CarModel  = dataCar[0];
                string CarEngine = dataCar[1];
                int    weight    = 0;
                var    color     = "n/a";

                if (dataCar.Length == 4)
                {
                    weight = int.Parse(dataCar[2]);
                    color  = dataCar[3];
                }
                else if (dataCar.Length == 3)
                {
                    if (char.IsLetter(char.Parse(dataCar[2][0].ToString())))
                    {
                        color = dataCar[2];
                    }
                    else
                    {
                        weight = int.Parse(dataCar[2]);
                    }
                }
                var engine = engines.Where(x => x.EngineModel == CarEngine).FirstOrDefault();
                Car car    = new Car(CarModel, engine, weight, color);

                cars.Add(car);
            }

            foreach (Car car in cars)
            {
                Console.WriteLine(car.ToString());
            }
        }
コード例 #3
0
 public Car(string model, Engine engine, string color, int weight) : this(model, engine, color)
 {
     this.Weight = weight;
 }
コード例 #4
0
 public Car(string model, Engine engine, string color) : this(model, engine)
 {
     this.Color = color;
 }
コード例 #5
0
 public Car(string model, Engine engine, int weight, string color) : this(model, engine, weight)
 {
     this.Color = color;
 }
コード例 #6
0
 public Car(string model, Engine engine, int weight) : this(model, engine)
 {
     this.Weight = weight;
 }
コード例 #7
0
 public Car(string model, Engine engine)
 {
     this.Model  = model;
     this.Engine = engine;
 }
コード例 #8
0
        public static void Main()
        {
            HashSet <Engine> engines = new HashSet <Engine>();

            List <Car> cars = new List <Car>();

            int numberOfEngines = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfEngines; i++)
            {
                string[] inputEngine = Console.ReadLine()
                                       .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                                       .ToArray();

                Engine engine = null;

                string model = inputEngine[0];
                int    power = int.Parse(inputEngine[1]);

                if (inputEngine.Length == 4)
                {
                    int    displacement = int.Parse(inputEngine[2]);
                    string efficiency   = inputEngine[3];

                    engine = new Engine(model, power, displacement, efficiency);
                }
                else if (inputEngine.Length == 3)
                {
                    int displacement;

                    bool isDisplacement = int.TryParse(inputEngine[2], out displacement);

                    if (isDisplacement)
                    {
                        engine = new Engine(model, power, displacement);
                    }
                    else
                    {
                        engine = new Engine(model, power, inputEngine[2]);
                    }
                }
                else if (inputEngine.Length == 2)
                {
                    engine = new Engine(model, power);
                }

                if (engine != null)
                {
                    engines.Add(engine);
                }
            }

            int numberOfCars = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfCars; i++)
            {
                string[] inputCar = Console.ReadLine()
                                    .Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                                    .ToArray();

                Car car = null;

                string model  = inputCar[0];
                Engine engine = engines.First(x => x.Model == inputCar[1]);

                if (inputCar.Length == 2)
                {
                    car = new Car(model, engine);
                }
                else if (inputCar.Length == 3)
                {
                    double weight;

                    bool isWeight = double.TryParse(inputCar[2], out weight);

                    if (isWeight)
                    {
                        car = new Car(model, engine, weight);
                    }
                    else
                    {
                        car = new Car(model, engine, inputCar[2]);
                    }
                }
                else if (inputCar.Length == 4)
                {
                    double weight = double.Parse(inputCar[2]);
                    string color  = inputCar[3];

                    car = new Car(model, engine, weight, color);
                }

                if (car != null)
                {
                    cars.Add(car);
                }
            }

            foreach (var car in cars)
            {
                Console.WriteLine(car);
            }
        }
コード例 #9
0
        static void Main(string[] args)
        {
            var engines = new Dictionary<string, Engine>();
            var engineCount = int.Parse(Console.ReadLine());
            for (int i = 0; i < engineCount; i++)
            {
                var parameters = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                var engineModel = parameters[0];
                var enginePower = parameters[1];

                string engineDisplacement = "n/a";
                string engineEfficiency = "n/a";
                if (parameters.Length >= 3)
                {
                    int displacement = -1;
                    if (int.TryParse(parameters[2], out displacement))
                    {
                        engineDisplacement = parameters[2];
                    }
                    else
                    {
                        engineEfficiency = parameters[2];
                    }

                    if (parameters.Length == 4)
                    {
                        engineEfficiency = displacement != -1 ? parameters[3] : parameters[2];
                    }
                }
                var engine = new Engine(engineModel, enginePower, engineDisplacement, engineEfficiency);
                engines.Add(engineModel, engine);
            }

            var cars = new List<Car>();
            var carCount = int.Parse(Console.ReadLine());
            for (int i = 0; i < carCount; i++)
            {
                var parameters = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                var carModel = parameters[0];
                var carEngine = engines[parameters[1]];

                string carWeight = "n/a";
                string carColor = "n/a";
                if (parameters.Length >= 3)
                {
                    int weight = -1;
                    if (int.TryParse(parameters[2], out weight))
                    {
                        carWeight = parameters[2];
                    }
                    else
                    {
                        carColor = parameters[2];
                    }

                    if (parameters.Length == 4)
                    {
                        carColor = weight != -1 ? parameters[3] : parameters[2];
                    }
                }

                var car = new Car(carModel, carEngine, carWeight, carColor);
                cars.Add(car);
            }

            foreach (Car car in cars)
            {
                Console.WriteLine(car);
            }
        }
コード例 #10
0
        public static void Main(string[] args)
        {
            List <Engine> engines         = new List <Engine>();
            int           numberOfEngines = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfEngines; i++)
            {
                string[] inputParts = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                string   model      = inputParts[0];
                int      power      = int.Parse(inputParts[1]);
                Engine   engine     = new Engine(model, power);
                if (inputParts.Length == 3)
                {
                    int displacement;
                    if (int.TryParse(inputParts[2], out displacement))
                    {
                        engine.Displacement = displacement;
                    }
                    else
                    {
                        engine.Efficiency = inputParts[2];
                    }
                }
                else if (inputParts.Length == 4)
                {
                    int    displacement = int.Parse(inputParts[2]);
                    string efficiency   = inputParts[3];
                    engine.Displacement = displacement;
                    engine.Efficiency   = efficiency;
                }

                engines.Add(engine);
            }

            List <Car> cars         = new List <Car>();
            int        numberOfCars = int.Parse(Console.ReadLine());

            for (int i = 0; i < numberOfCars; i++)
            {
                string[] inputParts  = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                string   model       = inputParts[0];
                string   engineModel = inputParts[1];
                Engine   engine      = engines.FirstOrDefault(e => e.Model == engineModel);
                Car      car         = new Car(model, engine);
                if (inputParts.Length == 3)
                {
                    int weight;
                    if (int.TryParse(inputParts[2], out weight))
                    {
                        car.Weight = weight;
                    }
                    else
                    {
                        car.Color = inputParts[2];
                    }
                }
                else if (inputParts.Length == 4)
                {
                    int    weight = int.Parse(inputParts[2]);
                    string color  = inputParts[3];
                    car.Weight = weight;
                    car.Color  = color;
                }

                cars.Add(car);
            }

            foreach (Car car in cars)
            {
                Console.WriteLine(car);
            }
        }
コード例 #11
0
ファイル: StartUp.cs プロジェクト: missing-line/SoftUni
        public static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());

            List <Engine> engines = new List <Engine>();

            for (int i = 0; i < n; i++)
            {
                string[] arr = Console.ReadLine()
                               .Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
                               .ToArray();
                string modelEngine  = arr[0];
                int    powerEngine  = int.Parse(arr[1]);
                string displacement = "n/a";
                string efficiency   = "n/a";
                if (arr.Length == 3)
                {
                    if (arr[2].Any(x => char.IsDigit(x)))
                    {
                        int number = int.Parse(arr[2]);
                        displacement = number.ToString();
                    }
                    else
                    {
                        efficiency = arr[2];
                    }
                }
                else if (arr.Length == 4)
                {
                    int number = int.Parse(arr[2]);
                    displacement = number.ToString();
                    efficiency   = arr[3];
                }
                engines.Add(new Engine()
                {
                    Model        = modelEngine,
                    Power        = powerEngine,
                    Displacement = displacement,
                    Efficiency   = efficiency
                });
            }


            int m = int.Parse(Console.ReadLine());

            List <Car> cars = new List <Car>();

            for (int i = 0; i < m; i++)
            {
                string[] arr = Console.ReadLine()
                               .Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries)
                               .ToArray();
                string carModel  = arr[0];
                Engine carEngine = engines.FirstOrDefault(x => x.Model == arr[1]);
                string weight    = "n/a";
                string color     = "n/a";
                if (arr.Length == 3)
                {
                    if (arr[2].Any(x => char.IsDigit(x)))
                    {
                        int number = int.Parse(arr[2]);
                        weight = number.ToString();
                    }
                    else
                    {
                        color = arr[2];
                    }
                }
                else if (arr.Length == 4)
                {
                    int number = int.Parse(arr[2]);
                    weight = number.ToString();
                    color  = arr[3];
                }
                cars.Add(new Car()
                {
                    Model  = carModel,
                    Engine = carEngine,
                    Weight = weight,
                    Color  = color
                });
            }


            foreach (Car car in cars)
            {
                Console.WriteLine($"{car.Model}:");
                Console.WriteLine($" {car.Engine.Model}:");
                Console.WriteLine($"    Power: {car.Engine.Power}");
                Console.WriteLine($"    Displacement: {car.Engine.Displacement}");
                Console.WriteLine($"    Efficiency: {car.Engine.Efficiency}");
                Console.WriteLine($" Weight: {car.Weight}");
                Console.WriteLine($" Color: {car.Color}");
            }
        }
コード例 #12
0
 public Car(string model, Engine engine, int?weight, string color)
     : this(model, engine)
 {
     this.weight = weight;
     this.color  = color;
 }