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

codeAnalysis

Uploaded by

9w68mqqvn9
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

codeAnalysis

Uploaded by

9w68mqqvn9
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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