From ccf4aba25fb617bd066982fd64075eecf7db8090 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nikolai=20Lillemark=20B=C3=B8rseth?= Date: Tue, 7 Jan 2025 15:49:50 +0100 Subject: [PATCH] Finished both core and extension! --- csharp-fundamentals-methods.Main/Core.cs | 14 +++++++------- csharp-fundamentals-methods.Main/Extension.cs | 13 ++++++++++--- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/csharp-fundamentals-methods.Main/Core.cs b/csharp-fundamentals-methods.Main/Core.cs index aad1694..e4a0544 100644 --- a/csharp-fundamentals-methods.Main/Core.cs +++ b/csharp-fundamentals-methods.Main/Core.cs @@ -27,7 +27,7 @@ logic. See the example below and take some time to break it down and understand //TODO: 1. Create a method that accepts a name and returns a greeting public string greet(string name) { - throw new NotImplementedException(); + return $"Hello {name}!"; } //TODO: 2. Increment a number @@ -36,7 +36,7 @@ Complete this method so that it increases the number given by 1 and returns the */ public int increment(int number) { - throw new NotImplementedException(); + return number + 1; } //TODO: 3. Construct a friendly greeting @@ -50,7 +50,7 @@ Complete this method so that it accepts a name as an input and outputs a friendl */ public string happilyGreet(string name) { - throw new NotImplementedException(); + return $"Hi, {name} :)"; } //TODO: 4. Construct an array of numbers @@ -67,9 +67,9 @@ Create a method named constructNumberArray that accepts two whole numbers named public int[] constructNumberArray(int lower, int upper) { - int[] resultArray = { }; - - return resultArray; + int size = upper - lower; + if (size < 0) throw new ArgumentException("Lower should be a smaller number than upper!"); + return Enumerable.Range(lower, size + 1).ToArray(); } //TODO: 5. Shout at a dev @@ -86,7 +86,7 @@ The number of exclamation marks appended must be determined by the number provid public string shout(string phrase, int number) { - return $""; + return $"{phrase.ToUpper()}{new string('!', number)}"; } } } diff --git a/csharp-fundamentals-methods.Main/Extension.cs b/csharp-fundamentals-methods.Main/Extension.cs index f7a9b9a..0a501ac 100644 --- a/csharp-fundamentals-methods.Main/Extension.cs +++ b/csharp-fundamentals-methods.Main/Extension.cs @@ -20,7 +20,9 @@ public class Extension */ public string timerStatus(int timeLeftInMin) { - throw new NotImplementedException(); + if (timeLeftInMin > 0) { return "The cake is still baking!"; } + else if (timeLeftInMin < 0) { return "The timer finished ages ago!"; } + return "The cake is ready!"; } //TODO: Extension 2: Estimate Prep Time @@ -35,7 +37,8 @@ provided and the prep time per ingredient. public double estimatePrepTime(string[] ingredients, int prepTimePerIngredient) { - throw new NotImplementedException(); + if (prepTimePerIngredient == 0) prepTimePerIngredient = 2; + return prepTimePerIngredient * ingredients.Length; } //TODO: Extension 3: calculateGramsOfSugar that accepts two parameters 1 an array of ingredients that will always contain 3 ingredients AND 2 the number of layers the cake has. The cake will need 100g of sugar per layer, if that ingredient is present in the provided list of ingredients. The method should return the number of grams of sugar needed to make the cake. @@ -49,7 +52,11 @@ public double estimatePrepTime(string[] ingredients, int prepTimePerIngredient) public double calculateGramsOfSugar(string[] ingredients, int numberOfCakeLayers) { - throw new NotImplementedException(); + if (ingredients.Contains("sugar")) + { + return 100 * numberOfCakeLayers; + } + return 0; } } }