예제 #1
0
파일: Car.cs 프로젝트: o-todorov/SoftUni
        public override string ToString()
        {
            var sb = new StringBuilder();

            sb.AppendLine($"{ Model}:")
            .Append(Engine.ToString())
            .AppendLine($"  Weight: { ToPrint(Weight)}")
            .AppendLine($"  Color: { ToPrint(Color)}");
            return(sb.ToString());
        }
예제 #2
0
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine($"{Model}:");
            sb.Append(Engine.ToString());
            sb.AppendLine(Weight == null ? "  Weight: n/a" : $"  Weight: {Weight}");
            sb.AppendLine($"  Color: {Color}");
            return(sb.ToString());
        }
예제 #3
0
        public override string ToString()
        {
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.AppendLine($"{this.Model}:");
            stringBuilder.AppendLine(Engine.ToString());
            stringBuilder.AppendLine($"  Weight: {this.Weight}");
            stringBuilder.Append($"  Color: {this.Color}");

            return(stringBuilder.ToString());
        }
예제 #4
0
        public override string ToString()
        {
            StringBuilder sb        = new StringBuilder();
            string        weightStr = Weight == 0 ? "n/a" : Weight.ToString();

            sb.AppendLine($"{Model}:");
            sb.AppendLine($"{Engine.ToString()}");
            sb.AppendLine($"Weight: {weightStr}");
            sb.Append($"Color: {Color}");

            return(sb.ToString());
        }
예제 #5
0
        public override string ToString()
        {
            string output = $"{Model}:";

            output = string.Concat(output, Environment.NewLine);
            output = string.Concat(output, Engine.ToString());
            output = string.Concat(output, Environment.NewLine);
            output = string.Concat(output, Weight == 0 ? "  Weight: n/a" : $"  Weight: {Weight}");
            output = string.Concat(output, Environment.NewLine);
            output = string.Concat(output, string.IsNullOrEmpty(Color) ? "  Color: n/a" : $"  Color: {Color}");

            return(output);
        }
예제 #6
0
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine($"{this.Model}:");
            sb.AppendLine(Engine.ToString());

            sb.AppendLine(this.Weight == -1
                ? $"    Weight: n/a"
                : $"  Weight: {this.Weight}");

            sb.Append($"  Color: {this.Color}");

            return(sb.ToString());
        }
예제 #7
0
        static void Main()
        {
            List <Car>    cars    = new List <Car>();
            List <Engine> engines = new List <Engine>();

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

            for (int i = 0; i < countEngines; i++)
            {
                string[] inputEngine     = Console.ReadLine().Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                string   engModel        = inputEngine[0];
                int      engPower        = int.Parse(inputEngine[1]);
                string   engDisplacement = "n/a";
                string   engEfficiency   = "n/a";

                if (inputEngine.Length == 3)
                {
                    string token = inputEngine[2];
                    if (int.TryParse(token, out int num))
                    {
                        engDisplacement = num.ToString();
                    }
                    else
                    {
                        engEfficiency = token;
                    }
                }

                if (inputEngine.Length == 4)
                {
                    engDisplacement = inputEngine[2];
                    engEfficiency   = inputEngine[3];
                }

                if (engines.Any(e => e.Model == engModel))
                {
                    Engine currentEngine = engines.FirstOrDefault(e => e.Model == engModel);
                    currentEngine.Power        = engPower;
                    currentEngine.Displacement = engDisplacement;
                    currentEngine.Efficiency   = engEfficiency;
                }
                else
                {
                    Engine engine = new Engine(engModel, engPower, engDisplacement, engEfficiency);
                    engines.Add(engine);
                }
            }

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

            for (int i = 0; i < countCars; i++)
            {
                string[] inputCar = Console.ReadLine().Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries).ToArray();
                string   model    = inputCar[0];
                string   engine   = inputCar[1];
                string   weight   = "n/a";
                string   color    = "n/a";
                if (inputCar.Length == 3)
                {
                    string token = inputCar[2];
                    if (int.TryParse(token, out int num))
                    {
                        weight = token;
                    }
                    else
                    {
                        color = token;
                    }
                }
                else if (inputCar.Length == 4)
                {
                    weight = inputCar[2];
                    color  = inputCar[3];
                }

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

            foreach (Car car in cars)
            {
                Console.WriteLine($"{car.Model}:");
                Engine currentEngine = engines.FirstOrDefault(e => e.Model == car.Engine);
                Console.WriteLine($"  {currentEngine.Model}:");
                Console.WriteLine(currentEngine.ToString());
                Console.WriteLine(car.ToString());
            }
        }