public string UnitOfMeasure;
public double PricePerUnit;
public Material( string name, string unitOfMeasure, double pricePerUnit)
UnitOfMeasure = unitOfMeasure;
PricePerUnit = pricePerUnit;
public static void Main()
Material[] materials = new Material[]
new Material("Brick", "per brick", 0.5),
new Material("Plaster", "square metre", 2),
new Material("Timber", "metre", 7.8),
new Material("Cement", "kg", 5),
bool noMaterialsValid = false;
Console.WriteLine("How many different materials do you require?");
string numberOfMaterialsInput = Console.ReadLine();
numberOfMaterials= int.Parse(numberOfMaterialsInput);
for(int i = 0; i < numberOfMaterials; i++)
noMaterialsValid = false;
while(noMaterialsValid == false)
for(int j = 0; j < materials.Length; j++)
string materialDescription = "(" + j + ") " + materials[j].Name;
Console.WriteLine(materialDescription);
Console.WriteLine("please select an option shown above");
optionInputText = Console.ReadLine();
optionInputIndex = int.Parse(optionInputText);
if(optionInputIndex < 0 || optionInputIndex > materials.Length -1)
Console.WriteLine("please enter a valid option");
Material selectedMaterial = materials[optionInputIndex];