public static void Main() { string[] carInfo = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); Car car = new Car(double.Parse(carInfo[1]), double.Parse(carInfo[2]), double.Parse(carInfo[3])); string[] truckInfo = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); Truck truck = new Truck(double.Parse(truckInfo[1]), double.Parse(truckInfo[2]), double.Parse(truckInfo[3])); string[] busInfo = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); Bus bus = new Bus(double.Parse(busInfo[1]), double.Parse(busInfo[2]), double.Parse(busInfo[3])); int totalCommands = int.Parse(Console.ReadLine()); for (int command = 0; command < totalCommands; command++) { string[] commandInfo = Console.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string vehicleType = commandInfo[1]; double litters = double.Parse(commandInfo[2]); try { switch (commandInfo[0]) { case "Drive": if (vehicleType == "Car") { Console.WriteLine(car.Drive(litters)); } else if (vehicleType == "Truck") { Console.WriteLine(truck.Drive(litters)); } else if (vehicleType == "Bus") { bus.FuelConsumption += 1.4; Console.WriteLine(bus.Drive(litters)); bus.FuelConsumption -= 1.4; } break; case "Refuel": if (vehicleType == "Car") { car.Refuel(litters); } else if (vehicleType == "Truck") { truck.Refuel(litters); } else if (vehicleType == "Bus") { bus.Refuel(litters); } break; case "DriveEmpty": Console.WriteLine(bus.Drive(litters)); break; default: break; } } catch (ArgumentException ae) { Console.WriteLine(ae.Message); } } Console.WriteLine($"Car: {car.FuelQuantity:f2}"); Console.WriteLine($"Truck: {truck.FuelQuantity:f2}"); Console.WriteLine($"Bus: {bus.FuelQuantity:f2}"); }
public static void Main() { string input = Console.ReadLine(); List <Vehicle> vehicles = new List <Vehicle>(); string[] carDetails = input.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); double carFuel = double.Parse(carDetails[1]); double carConsumption = double.Parse(carDetails[2]); double carTankCapacity = double.Parse(carDetails[3]); Vehicle car = new Car(carFuel, carConsumption, carTankCapacity); vehicles.Add(car); input = Console.ReadLine(); string[] truckDetails = input.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); double truckFuel = double.Parse(truckDetails[1]); double truckConsumption = double.Parse(truckDetails[2]); double truckTankCapacity = double.Parse(truckDetails[3]); Vehicle truck = new Truck(truckFuel, truckConsumption, truckTankCapacity); vehicles.Add(truck); input = Console.ReadLine(); string[] busDetails = input.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); double busFuel = double.Parse(busDetails[1]); double busConsumption = double.Parse(busDetails[2]); double busTankCapacity = double.Parse(busDetails[3]); Bus bus = new Bus(busFuel, busConsumption, busTankCapacity); //vehicles.Add(bus); int lines = int.Parse(Console.ReadLine()); for (int i = 0; i < lines; i++) { input = Console.ReadLine(); string[] splittedInput = input.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); string command = splittedInput[0]; string vehicle = splittedInput[1]; double number = double.Parse(splittedInput[2]); if (command == "Drive") { if (vehicle == "Car") { car.Drive(number); } else if (vehicle == "Truck") { truck.Drive(number); } else { bus.Drive(number); } } else if (command == "Refuel") { if (vehicle == "Car") { car.Refuel(number); } else if (vehicle == "Truck") { truck.Refuel(number); } else { bus.Refuel(number); } } else { bus.DriveEmpty(number); } } Console.WriteLine(car); Console.WriteLine(truck); Console.WriteLine(bus); }