Car 15 0.3
Truck 100 0.9 4
Drive Car 9
Drive Car 30
Refuel Car 50
Drive Truck 10
Car travelled 9 km
Car needs refueling
Truck travelled 10 km
Car: 54.20
Truck: 75.00
Car 30.4 0.4
Truck 99.34 0.9 5
Drive Car 500
Drive Car 13.5
Refuel Truck 10.300
Drive Truck 56.2
Refuel Car 100.2
Car needs refueling
Car travelled 13.5 km
Truck needs refueling
Car: 113.05
Truck: 109.13
Фрагмент:
IVehicle.cs
interface IVehicle { double Fuel { get; } double Litersperkm { get;} double Distance { get;} void Drive(double km); void Refuel(double litres);
}
Car.cs class Car : IVehicle
{ private double fuel, litersperkm,
distance; public double Fuel { get {
return fuel; } } public double Litersperkm { get { return litersperkm; } } public double Distance { get {
return distance; } } public void Drive(double km)
{ double travel = litersperkm * km; if (travel <= fuel)
{ fuel -= travel;
Console.WriteLine($"Car travelled {km} km"); distance += km;
} else
{
Program.cs static void Main(string[] args)
{ var input =
Console.ReadLine().Split().Skip(1).Select(double.Parse).ToArray();
Car car = new Car(input[0], input[1]); input =
Console.ReadLine().Split().Skip(1).Select(double.Parse).ToArray();
Truck truck = new Truck(input[0], input[1]); int n = int.Parse(Console.ReadLine()); for (int i = 0; i < n; i++)
{ var cmd = Console.ReadLine().Split().ToArray(); if (cmd[0] == "Drive")
{ if (cmd[1] == "Car")
{ car.Drive(double.Parse(cmd[2]));
} else
{ truck.Drive(double.Parse(cmd[2]));
}
} else
{ if (cmd[1] == "Car")
{ car.Refuel(double.Parse(cmd[2]));
} else
{ truck.Refuel(double.Parse(cmd[2]));
}
}
}
Console.WriteLine($"Car: {car.Fuel:F2}");
Console.WriteLine($"Truck: {truck.Fuel:f2}");
}
Сподели с приятели: