private static void ExecuteCommands(Car car, Truck truck, Bus bus) { var numberOfCommands = int.Parse(Console.ReadLine()); while (numberOfCommands > 0) { numberOfCommands--; var command = Console.ReadLine().Split(); var action = command[0]; var vehicleType = command[1]; var value = double.Parse(command[2]); try { switch (action) { case "Drive": Console.WriteLine(vehicleType == "Car" ? car.Drive(value) : vehicleType == "Truck" ? truck.Drive(value) : bus.Drive(value)); break; case "Refuel": switch (vehicleType) { case "Car": car.Refuel(value); break; case "Truck": truck.Refuel(value); break; case "Bus": bus.Refuel(value); break; default: break; } break; case "DriveEmpty": bus.IsAirConditionerTurnedOn = false; Console.WriteLine(bus.Drive(value)); bus.IsAirConditionerTurnedOn = true; break; default: break; } } catch (ArgumentException ex) { Console.WriteLine(ex.Message); } } }