diff --git a/csharp-fundamentals-methods.Main/Core.cs b/csharp-fundamentals-methods.Main/Core.cs index aad1694..4da43a5 100644 --- a/csharp-fundamentals-methods.Main/Core.cs +++ b/csharp-fundamentals-methods.Main/Core.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -27,7 +28,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 +37,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 +51,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,7 +68,18 @@ Create a method named constructNumberArray that accepts two whole numbers named public int[] constructNumberArray(int lower, int upper) { - int[] resultArray = { }; + Console.WriteLine($"lower: {lower}, upper: {upper}"); + //int[] resultArray = { }; + int size = Math.Abs(lower - upper); + int[] resultArray = new int[size+1]; + + int idx = 0; + + for (int i = lower; i <= upper; i++) + { + resultArray[idx] = i; + idx = idx + 1; + } return resultArray; } @@ -86,7 +98,8 @@ The number of exclamation marks appended must be determined by the number provid public string shout(string phrase, int number) { - return $""; + return $"{phrase.ToUpper()}" + String.Concat(Enumerable.Repeat("!", number)); + ; } } } diff --git a/csharp-fundamentals-methods.Main/Extension.cs b/csharp-fundamentals-methods.Main/Extension.cs index f7a9b9a..c36d0bf 100644 --- a/csharp-fundamentals-methods.Main/Extension.cs +++ b/csharp-fundamentals-methods.Main/Extension.cs @@ -20,7 +20,18 @@ public class Extension */ public string timerStatus(int timeLeftInMin) { - throw new NotImplementedException(); + if (timeLeftInMin == 0) + { + return "The cake is ready!"; + } + else if (timeLeftInMin > 0) + { + return "The cake is still baking!"; + } + else + { + return "The timer finished ages ago!"; + } } //TODO: Extension 2: Estimate Prep Time @@ -35,7 +46,11 @@ provided and the prep time per ingredient. public double estimatePrepTime(string[] ingredients, int prepTimePerIngredient) { - throw new NotImplementedException(); + if (prepTimePerIngredient == 0) + { + prepTimePerIngredient = 2; + } + return ingredients.Length * prepTimePerIngredient; } //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 +64,13 @@ public double estimatePrepTime(string[] ingredients, int prepTimePerIngredient) public double calculateGramsOfSugar(string[] ingredients, int numberOfCakeLayers) { - throw new NotImplementedException(); + Console.WriteLine(string.Join(", ", ingredients)); + int sugarNeeded = 0; + if (ingredients.Contains("sugar")) + { + sugarNeeded += 100 * numberOfCakeLayers; + } + return sugarNeeded; } } }