public string VIN { get; set; }
public string Owner { get; set; }
public string MakeAndModel { get; set; }
public double FuelConsumption { get; set; }
public Vehicle(string vin, string owner, string makeAndModel, double fuelConsumption)
MakeAndModel = makeAndModel;
FuelConsumption = fuelConsumption;
Console.WriteLine($"Car with {VIN} and Owner {Owner} with Make and Model {MakeAndModel} have stock fuel consumtion of {FuelConsumption}");
public Vehicle Vehicle { get; set; }
public double Distance { get; set; }
public Trip(Vehicle vehicle)
public double CalculateUrbanFuelConsumption() =>
(Distance * 0.35 / 100) * (Vehicle.FuelConsumption + Vehicle.FuelConsumption * 0.35);
public double CalculateRuralFuelConsumption() =>
(Distance * 0.65 / 100) * (Vehicle.FuelConsumption * 0.65);
public double CalculateTripCost()
double urbanFuelConsumed = CalculateUrbanFuelConsumption();
double ruralFuelConsumed = CalculateRuralFuelConsumption();
double totalFuelConsumed = urbanFuelConsumed + ruralFuelConsumed;
double fuelPricePerLiter = 3;
double tripCost = totalFuelConsumed * fuelPricePerLiter;
tripCost = Math.Round(tripCost, 2);
Console.WriteLine($"Изразходено гориво: {totalFuelConsumed:F2} литра.");
Console.WriteLine($"Крайна цена за пътуването: {tripCost:C}");
public Vehicle Vehicle { get; set; }
public Trip Trip { get; set; }
public void SetVehicleData()
Console.WriteLine("Въведете данни за автомобила:");
string vin = Console.ReadLine();
Console.Write("Собственик: ");
string owner = Console.ReadLine();
Console.Write("Марка и модел: ");
string makeAndModel = Console.ReadLine();
Console.Write("Разход на гориво (л/100км): ");
double fuelConsumption = double.Parse(Console.ReadLine());
Vehicle = new Vehicle(vin, owner, makeAndModel, fuelConsumption);
Trip = new Trip(Vehicle);
Console.WriteLine("Данните за автомобила са въведени успешно.");
static void Main(string[] args)
TravelController controller = new TravelController();
Console.WriteLine("\nМеню:");
Console.WriteLine("1. Въвеждане на данни за автомобила");
Console.WriteLine("2. Въвеждане на разстояние");
Console.WriteLine("3. Изход");
Console.Write("Изберете опция (1-3): ");
int choice = int.Parse(Console.ReadLine());
controller.SetVehicleData();
if (controller.Vehicle == null)
Console.WriteLine("Моля, въведете данни за автомобила преди да продължите.");
Console.Write("Въведете разстояние (км): ");
double distance = double.Parse(Console.ReadLine());
controller.Trip.Distance = distance;
controller.Trip.CalculateTripCost();
Console.WriteLine("Моля, въведете валиден избор.");