public static void Main() { string[] line1 = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string[] line2 = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string[] line3 = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); int n = int.Parse(Console.ReadLine()); Car car = new Car(double.Parse(line1[1]), (double.Parse(line1[2]) + 0.9), double.Parse(line1[3])); Truck truck = new Truck(double.Parse(line2[1]), (double.Parse(line2[2]) + 1.6), double.Parse(line2[3])); Bus bus = new Bus(double.Parse(line3[1]), (double.Parse(line3[2]) + 1.4), double.Parse(line3[3])); for (int i = 0; i < n; i++) { try { string[] input = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string command = input[0]; string typeVehicle = input[1]; double distanceOrLiters = double.Parse(input[2]); switch (command) { case "Drive": if (typeVehicle == "Car") { car.Drive(distanceOrLiters); } else if (typeVehicle == "Truck") { truck.Drive(distanceOrLiters); } else if (typeVehicle == "Bus") { bus.Drive(distanceOrLiters); } break; case "Refuel": if (typeVehicle == "Car") { car.Refuel(distanceOrLiters); } else if (typeVehicle == "Truck") { truck.Refuel(distanceOrLiters); } else if (typeVehicle == "Bus") { bus.Refuel(distanceOrLiters); } break; case "DriveEmpty": bus.DriveEmpty(distanceOrLiters); break; default: break; } } catch (Exception ex) { Console.WriteLine(ex.Message); } } Console.WriteLine(car); Console.WriteLine(truck); Console.WriteLine(bus); }
static void Main() { try { var carInfo = Console.ReadLine().Split(); var carFuel = double.Parse(carInfo[1]); var carLitersPerKm = double.Parse(carInfo[2]); var carTank = double.Parse(carInfo[3]); var car = new Car(carFuel, carLitersPerKm, carTank); var truckInfo = Console.ReadLine().Split(); var truckFuel = double.Parse(truckInfo[1]); var truckLitersPerKm = double.Parse(truckInfo[2]); var truckTank = double.Parse(truckInfo[3]); var truck = new Truck(truckFuel, truckLitersPerKm, truckTank); var busInfo = Console.ReadLine().Split(); var busFuel = double.Parse(busInfo[1]); var busLitersPerKm = double.Parse(busInfo[2]); var busTank = double.Parse(busInfo[3]); var bus = new Bus(busFuel, busLitersPerKm, busTank); var commands = int.Parse(Console.ReadLine()); for (int i = 0; i < commands; i++) { var command = Console.ReadLine().Split(); var action = command[0]; var vehicleType = command[1]; var value = double.Parse(command[2]); switch (action) { case "Drive": switch (vehicleType) { case "Car": car.Drive(value); break; case "Truck": truck.Drive(value); break; case "Bus": bus.Drive(value); break; } break; case "Refuel": switch (vehicleType) { case "Car": car.Refuel(value); break; case "Truck": truck.Refuel(value); break; case "Bus": bus.Refuel(value); break; } break; case "DriveEmpty": bus.DriveEmpty(value); break; } } Console.WriteLine($"Car: {car.Fuel:f2}"); Console.WriteLine($"Truck: {truck.Fuel:f2}"); Console.WriteLine($"Bus: {bus.Fuel:f2}"); } catch (ArgumentException e) { Console.WriteLine(e.Message); throw; } }