using System.Diagnostics.Eventing.Reader;
using System.Runtime.CompilerServices;
public Customer(string fName, string lName, Order[] Orders)
public Order[] GetOrders(Vehicle[] vehicle)
for (int i = 0; i < vehicle.Length; i++)
Console.WriteLine("Description - " + vehicle[i].GetDescription(vehicle[i]) + " Price - $ " +
orders[i].getItemPrice() + ", Quantity - "
+ orders[i].getItemQuantity() +" Hourse power - "+vehicle[i].GetHorsePower(vehicle[i].GetNoOfWheels())+ " Cargo Capacity = " +
vehicle[i].CargoCapacity(vehicle[i].GetNoOfWheels()));
public Order(Vehicle []vehicle, double itemPrice, int itemQuantity)
ItemQuantity = itemQuantity;
public double getItemPrice()
public void setItemPrice(double itemPrice)
public int getItemQuantity()
protected int noOfWheels;
protected string description;
protected int horsePower ;
public Vehicle(int noOfWheels)
this.noOfWheels = noOfWheels;
public int GetNoOfWheels()
public int GetHorsePower(int noOfEngines)
if (noOfEngines == 1) horsePower = 1;
horsePower = noOfEngines*2;
public string GetDescription(Vehicle ob)
if (ob.GetNoOfWheels() == 2)
description = "Motorcycle";
else if (ob.GetNoOfWheels() == 4)
description = "Automobile";
description = " is Invalid number of wheels";
public virtual int CargoCapacity(int noOfWheels)
double rad = 1, height = 4, lenght = 3, width = 4;
return Convert.ToInt32(Math.PI*(rad*rad)*height)*2;
return Convert.ToInt32(lenght*width*height);
public class Automobile : Vehicle
public override int CargoCapacity(int num)
return base.CargoCapacity(noOfWheels);
public class MotoryCycle : Vehicle
public override int CargoCapacity(int numwheels)
return base.CargoCapacity(noOfWheels);
public void PopulateDisplay()
var orders1 = new Order[3];
var orders2 = new Order[3];
var CustomerArray = new Customer[3];
CustomerArray[0] = new Customer("Tedo ", "Bizuye", orders1);
CustomerArray[1] = new Customer("Yonas ", "Sam", orders2);
var vehicle1 = new Vehicle[3];
vehicle1[0] = new Automobile();
vehicle1[1] = new MotoryCycle();
vehicle1[2] = new Vehicle(4);
var vehicle2 = new Vehicle[3];
vehicle2[0] = new Automobile();
vehicle2[1] = new Vehicle(2);
vehicle2[2] = new MotoryCycle();
orders1[0] = new Order(vehicle1, 50000.00, 1);
orders1[1] = new Order(vehicle1, 30000.00, 4);
orders1[2] = new Order(vehicle1, 40000.00, 5);
orders2[0] = new Order(vehicle2, 14000.00, 3);
orders2[1] = new Order(vehicle2, 15000.00, 1);
orders2[2] = new Order(vehicle2, 13000.00, 2);
Console.WriteLine("MY FANCY REPORT\n");
foreach (Customer Cust in CustomerArray)
Console.Write(Cust.GetFname() + Cust.GetLname() + "\n");
Console.WriteLine("===========");
Console.WriteLine(Cust.GetOrders(vehicle2));
"--------------------------------------------------------------------------------------------------------\n");
public static void Main(string[] args)
Program ob=new Program();