Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace CarSalesMan
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. var numberOfEngines = int.Parse(Console.ReadLine());
  12. var listOfEngines = new List<Engine>();
  13. var listOfCars = new List<Car>();
  14.  
  15. for (int i = 0; i < numberOfEngines; i++)
  16. {
  17. var engineInfo = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries).ToList();
  18.  
  19. var model = engineInfo[0];
  20. var power = int.Parse(engineInfo[1]);
  21. var currentEngine = new Engine(model, power);
  22.  
  23. CheckEngineOptionals(engineInfo, currentEngine);
  24. listOfEngines.Add(currentEngine);
  25. }
  26.  
  27. var numberOfCars = int.Parse(Console.ReadLine());
  28.  
  29. for (int i = 0; i < numberOfCars; i++)
  30. {
  31. var carsInfo = Console.ReadLine().Split(' ', StringSplitOptions.RemoveEmptyEntries).ToList();
  32. var model = carsInfo[0];
  33. var engine = carsInfo[1];
  34. var currentCar = new Car();
  35.  
  36. foreach (var eng in listOfEngines)
  37. {
  38. if (eng.Model == engine)
  39. {
  40. currentCar.Engine = eng;
  41. break;
  42. }
  43. }
  44.  
  45. currentCar.Model = model;
  46. CheckCarOptionals(carsInfo, currentCar);
  47. listOfCars.Add(currentCar);
  48. }
  49.  
  50. foreach (var car in listOfCars)
  51. {
  52. Print(car);
  53.  
  54. }
  55. }
  56.  
  57. private static void CheckCarOptionals(List<string> carsInfo, Car currentCar)
  58. {
  59. if (carsInfo.Count > 2 && char.IsDigit(carsInfo[2][0]))
  60. {
  61. var carWeight = carsInfo[2];
  62. currentCar.Weight = carWeight;
  63. }
  64. else if (carsInfo.Count > 2 && char.IsLetter(carsInfo[2][0]))
  65. {
  66. var carsColor = carsInfo[2];
  67. currentCar.Color = carsColor;
  68. }
  69. if (carsInfo.Count > 3)
  70. {
  71. var carsColor = carsInfo[3];
  72. currentCar.Color = carsColor;
  73. }
  74. }
  75.  
  76. private static void CheckEngineOptionals(List<string> engineInfo, Engine currentEngine)
  77. {
  78. if (engineInfo.Count > 2 && char.IsDigit(engineInfo[2][0]))
  79. {
  80. var displacement = engineInfo[2];
  81. currentEngine.Displacement = displacement;
  82. }
  83. else if (engineInfo.Count > 2 && char.IsLetter(engineInfo[2][0]))
  84. {
  85. var efficiency = engineInfo[2];
  86. currentEngine.Efficiency = efficiency;
  87. }
  88.  
  89. if (engineInfo.Count > 3)
  90. {
  91. var efficiency = engineInfo[3];
  92. currentEngine.Efficiency = efficiency;
  93. }
  94. }
  95.  
  96. private static void Print(Car car)
  97. {
  98. Console.WriteLine($"{car.Model}:");
  99. Console.WriteLine($" {car.Engine.Model}:");
  100. Console.WriteLine($" Power: {car.Engine.Power}");
  101. Console.WriteLine($" Displacement: {car.Engine.Displacement}");
  102. Console.WriteLine($" Efficiency: {car.Engine.Efficiency}");
  103. Console.WriteLine($" Weight: {car.Weight}");
  104. Console.WriteLine($" Color: {car.Color}");
  105. }
  106. }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement