Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace CarSalesMan
- {
- class Program
- {
- static void Main(string[] args)
- {
- var numberOfEngines = int.Parse(Console.ReadLine());
- var listOfEngines = new List<Engine>();
- var listOfCars = new List<Car>();
- for (int i = 0; i < numberOfEngines; i++)
- {
- var engineInfo = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries).ToList();
- var model = engineInfo[0];
- var power = int.Parse(engineInfo[1]);
- var currentEngine = new Engine(model, power);
- CheckEngineOptionals(engineInfo, currentEngine);
- listOfEngines.Add(currentEngine);
- }
- var numberOfCars = int.Parse(Console.ReadLine());
- for (int i = 0; i < numberOfCars; i++)
- {
- var carsInfo = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries).ToList();
- var model = carsInfo[0];
- var engine = carsInfo[1];
- var currentCar = new Car();
- foreach (var eng in listOfEngines)
- {
- if (eng.Model == engine)
- {
- currentCar.Engine = eng;
- break;
- }
- }
- currentCar.Model = model;
- CheckCarOptionals(carsInfo, currentCar);
- listOfCars.Add(currentCar);
- }
- foreach (var car in listOfCars)
- {
- Print(car);
- }
- }
- private static void CheckCarOptionals(List<string> carsInfo, Car currentCar)
- {
- if (carsInfo.Count > 2 && char.IsDigit(carsInfo[2][0]))
- {
- var carWeight = carsInfo[2];
- currentCar.Weight = carWeight;
- }
- else if (carsInfo.Count > 2 && char.IsLetter(carsInfo[2][0]))
- {
- var carsColor = carsInfo[2];
- currentCar.Color = carsColor;
- }
- if (carsInfo.Count > 3)
- {
- var carsColor = carsInfo[3];
- currentCar.Color = carsColor;
- }
- }
- private static void CheckEngineOptionals(List<string> engineInfo, Engine currentEngine)
- {
- if (engineInfo.Count > 2 && char.IsDigit(engineInfo[2][0]))
- {
- var displacement = engineInfo[2];
- currentEngine.Displacement = displacement;
- }
- else if (engineInfo.Count > 2 && char.IsLetter(engineInfo[2][0]))
- {
- var efficiency = engineInfo[2];
- currentEngine.Efficiency = efficiency;
- }
- if (engineInfo.Count > 3)
- {
- var efficiency = engineInfo[3];
- currentEngine.Efficiency = efficiency;
- }
- }
- private static void Print(Car car)
- {
- 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}");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement