diff --git a/2-csharp/lesson-6-projects/challenge-project/Starter/Program.cs b/2-csharp/lesson-6-projects/challenge-project/Starter/Program.cs index b769206..9d481f3 100644 --- a/2-csharp/lesson-6-projects/challenge-project/Starter/Program.cs +++ b/2-csharp/lesson-6-projects/challenge-project/Starter/Program.cs @@ -17,7 +17,6 @@ is used to ensure that logic in the MakeChange method is working as expected. */ - string? readResult = null; bool useTestData = false; @@ -115,10 +114,10 @@ static void LoadTillEachMorning(int[,] registerDailyStartingCash, int[] cashTill static void MakeChange(int cost, int[] cashTill, int twenties, int tens = 0, int fives = 0, int ones = 0) { - cashTill[3] += twenties; - cashTill[2] += tens; - cashTill[1] += fives; - cashTill[0] += ones; + int availableTwenties = cashTill[3] + twenties; + int availableTens = cashTill[2] + tens; + int availableFives = cashTill[1] + fives; + int availableOnes = cashTill[0] + ones; int amountPaid = twenties * 20 + tens * 10 + fives * 5 + ones; int changeNeeded = amountPaid - cost; @@ -130,28 +129,28 @@ static void MakeChange(int cost, int[] cashTill, int twenties, int tens = 0, int while ((changeNeeded > 19) && (cashTill[3] > 0)) { - cashTill[3]--; + availableTwenties--; changeNeeded -= 20; Console.WriteLine("\t A twenty"); } while ((changeNeeded > 9) && (cashTill[2] > 0)) { - cashTill[2]--; + availableTens--; changeNeeded -= 10; Console.WriteLine("\t A ten"); } while ((changeNeeded > 4) && (cashTill[1] > 0)) { - cashTill[1]--; + availableFives--; changeNeeded -= 5; Console.WriteLine("\t A five"); } while ((changeNeeded > 0) && (cashTill[0] > 0)) { - cashTill[0]--; + availableOnes--; changeNeeded -= 1; Console.WriteLine("\t A one"); } @@ -159,6 +158,11 @@ static void MakeChange(int cost, int[] cashTill, int twenties, int tens = 0, int if (changeNeeded > 0) throw new InvalidOperationException("InvalidOperationException: The till is unable to make change for the cash provided."); + cashTill[3] = availableTwenties; + cashTill[2] = availableTens; + cashTill[1] = availableFives; + cashTill[0]= availableOnes; + } static void LogTillStatus(int[] cashTill) diff --git a/2-csharp/lesson-6-projects/challenge-project/Starter/Starter.csproj b/2-csharp/lesson-6-projects/challenge-project/Starter/Starter.csproj index f02677b..74abf5c 100644 --- a/2-csharp/lesson-6-projects/challenge-project/Starter/Starter.csproj +++ b/2-csharp/lesson-6-projects/challenge-project/Starter/Starter.csproj @@ -2,7 +2,7 @@ Exe - net7.0 + net6.0 enable enable