0% found this document useful (0 votes)
3 views

codeAnalysis

Uploaded by

9w68mqqvn9
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

codeAnalysis

Uploaded by

9w68mqqvn9
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

using System;

namespace TransportationSystem

public abstract class Vehicle

public string Name { get; set; }

public Vehicle(string name)

Name = name;

public abstract void Drive();

public virtual void Refuel()

Console.WriteLine($"{Name} is refueled.");

public interface IFuelEfficiency

double GetFuelEfficiency();

}
public class Car : Vehicle, IFuelEfficiency

public double FuelEfficiency { get; set; }

public Car(string name, double fuelEfficiency) : base(name)

FuelEfficiency = fuelEfficiency;

public override void Drive()

Console.WriteLine($"{Name} is being driven. (Fuel Efficiency: {FuelEfficiency} km/l)");

public double GetFuelEfficiency()

return FuelEfficiency;

public override void Refuel()

Console.WriteLine($"{Name} is refueled with petrol.");

public class Bike : Vehicle


{

public Bike(string name) : base(name) { }

public override void Drive()

Console.WriteLine($"{Name} is being driven. (Manual power)");

public override void Refuel()

Console.WriteLine($"{Name} does not need refueling.");

public class Garage

private Vehicle[] vehicles;

private int count;

public Garage(int capacity)

vehicles = new Vehicle[capacity];

count = 0;

public void AddVehicle(Vehicle vehicle)


{

if (count < vehicles.Length)

vehicles[count] = vehicle;

count++;

Console.WriteLine($"{vehicle.Name} has been added to the garage.");

else

Console.WriteLine("Garage is full. Cannot add more vehicles.");

public void RemoveVehicle(Vehicle vehicle)

int index = Array.IndexOf(vehicles, vehicle);

if (index >= 0)

for (int i = index; i < count - 1; i++)

vehicles[i] = vehicles[i + 1];

vehicles[count - 1] = null;

count--;

Console.WriteLine($"{vehicle.Name} has been removed from the garage.");

}
else

Console.WriteLine($"{vehicle.Name} is not in the garage.");

public void ShowVehicles()

if (count == 0)

Console.WriteLine("Garage is empty.");

else

Console.WriteLine("Garage contents:");

for (int i = 0; i < count; i++)

Console.WriteLine($"- {vehicles[i].Name} ({vehicles[i].GetType().Name})");

class Program

static void Main(string[] args)


{

Garage garage = new Garage(5);

Car car = new Car("Sedan", 15);

Bike bike = new Bike("Mountain Bike");

Console.WriteLine("Adding vehicles to the garage...");

garage.AddVehicle(car);

garage.AddVehicle(bike);

garage.ShowVehicles();

Vehicle vehicle = car;

Console.WriteLine("\nDriving vehicles:");

vehicle.Drive();

if (vehicle is Car castedCar)

Console.WriteLine($"Fuel Efficiency: {castedCar.GetFuelEfficiency()} km/l");

bike.Drive();

Console.WriteLine("\nRefueling vehicles:");

car.Refuel();

bike.Refuel();
Console.WriteLine("\nRemoving vehicles from the garage...");

garage.RemoveVehicle(car);

garage.ShowVehicles();

You might also like