Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.81 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace CarSalesman
  6. {
  7. public class Program
  8. {
  9. public static void Main(string[] args)
  10. {
  11. List<Engine> engines = new List<Engine>();
  12.  
  13. int numberOfEngines = int.Parse(Console.ReadLine());
  14.  
  15. for (int i = 0; i < numberOfEngines; i++)
  16. {
  17. string[] commandInfo = Console.ReadLine()
  18. .Split()
  19. .ToArray();
  20.  
  21. string model = commandInfo[0];
  22. int power = int.Parse(commandInfo[1]);
  23.  
  24. if(commandInfo.Length == 2)
  25. {
  26. Engine currentEngine = new Engine(model, power);
  27. engines.Add(currentEngine);
  28. }
  29. if(commandInfo.Length==3)
  30. {
  31. if(char.IsDigit(commandInfo[2][0]))
  32. {
  33. int displacement = int.Parse(commandInfo[2]);
  34. Engine currentEngine = new Engine(model, power, displacement);
  35. engines.Add(currentEngine);
  36. }
  37. else
  38. {
  39. string efficiency = commandInfo[2];
  40. Engine currentEngine = new Engine(model, power, efficiency);
  41. engines.Add(currentEngine);
  42. }
  43.  
  44. }
  45. if(commandInfo.Length>3)
  46. {
  47. int displacement = int.Parse(commandInfo[2]);
  48. string efficiency = commandInfo[3];
  49. Engine currentEngine = new Engine(model, power, displacement,efficiency);
  50. engines.Add(currentEngine);
  51. }
  52. }
  53.  
  54. List<Car> cars = new List<Car>();
  55. int numberOfCars = int.Parse(Console.ReadLine());
  56.  
  57. for (int i = 0; i < numberOfCars; i++)
  58. {
  59. string[] commandInfo = Console.ReadLine()
  60. .Split()
  61. .ToArray();
  62.  
  63. string model = commandInfo[0];
  64. string engineModel = commandInfo[1];
  65. Engine currentEngine = engines.FirstOrDefault(x => x.Model == engineModel);
  66. if (commandInfo.Length == 2)
  67. {
  68. Car currentCar = new Car(model, currentEngine);
  69. cars.Add(currentCar);
  70. }
  71. if (commandInfo.Length ==3)
  72. {
  73. if(char.IsDigit(commandInfo[2][0]))
  74. {
  75. int weight = int.Parse(commandInfo[2]);
  76. Car currentCar = new Car(model, currentEngine, weight);
  77. cars.Add(currentCar);
  78. }
  79. else
  80. {
  81. string color = commandInfo[2];
  82. Car currentCar = new Car(model, currentEngine, color);
  83. cars.Add(currentCar);
  84. }
  85. }
  86. if (commandInfo.Length > 3)
  87. {
  88. string color = commandInfo[3];
  89. int weight = int.Parse(commandInfo[2]);
  90. Car currentCar = new Car(model, currentEngine, weight,color);
  91. cars.Add(currentCar);
  92. }
  93. }
  94.  
  95. foreach (var car in cars)
  96. {
  97. Console.WriteLine(car.Model+":");
  98. Console.WriteLine($" {car.Engine.Model}:");
  99. Console.WriteLine($" Power: {car.Engine.Power}");
  100. if(car.Engine.Displacement!=0)
  101. {
  102. Console.WriteLine($" Displacement: {car.Engine.Displacement}");
  103. }
  104. else
  105. {
  106. Console.WriteLine(" Displacement: n/a");
  107. }
  108. if(car.Engine.Efficiency!=null)
  109. {
  110. Console.WriteLine($" Efficiency: {car.Engine.Efficiency}");
  111. }
  112. else
  113. {
  114. Console.WriteLine(" Efficiency: n/a");
  115. }
  116. if(car.Weight!=0)
  117. {
  118. Console.WriteLine($" Weight: {car.Weight}");
  119. }
  120. else
  121. {
  122. Console.WriteLine(" Weight: n/a");
  123. }
  124. if (car.Color != null)
  125. {
  126. Console.WriteLine($" Color: {car.Color}");
  127. }
  128. else
  129. {
  130. Console.WriteLine(" Color: n/a");
  131. }
  132. }
  133. }
  134. }
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement