From 92b4c159df8d70a3b3e3cfd48f685e6de37396c0 Mon Sep 17 00:00:00 2001 From: BoolPurist <fnxa@posteo.de> Date: Mon, 28 Feb 2022 15:34:19 +0100 Subject: [PATCH] Added 3, 4 and 5. task. --- Aufgaben/Money_Bridge/task_second_day.md | 177 +++++++++++++++++- .../Bridge_Money_Console/Program.cs | 9 + 2 files changed, 184 insertions(+), 2 deletions(-) diff --git a/Aufgaben/Money_Bridge/task_second_day.md b/Aufgaben/Money_Bridge/task_second_day.md index c997f44..b0acfb0 100644 --- a/Aufgaben/Money_Bridge/task_second_day.md +++ b/Aufgaben/Money_Bridge/task_second_day.md @@ -47,7 +47,7 @@ Console.WriteLine($"{givenNumber} with 1 leading zero => {result}"); Es soll eine Funktion namens CreateFrom angelegt werden. -Diese Funktion soll Parametern bekommen und dann ein Structure vom Type Money bauen. Dieses erstellt Structure soll dann zurückgegeben werden. +Diese Funktion soll Parametern bekommen und dann ein Structure vom Type Money bauen. Dieses erstellte Structure soll dann zurückgegeben werden. Die Funktion bekommt 2 Parameter: @@ -125,7 +125,7 @@ Money secondAmount = MoneyUtility.CreateFrom(0, 40); Console.WriteLine($"MoneyUtility.GetTextFrom(secondAmount) = {MoneyUtility.GetTextFrom(secondAmount)}"); Money thirdAmount = MoneyUtility.CreateFrom(5, 24); -Console.WriteLine($"MoneyUtility.GetTextFrom(thirdAmount) = {MoneyUtilityGetTextFrom(thirdAmount)}"); +Console.WriteLine($"MoneyUtility.GetTextFrom(thirdAmount) = {MoneyUtility.GetTextFrom(thirdAmount)}"); ``` @@ -138,3 +138,176 @@ MoneyUtility.GetTextFrom(firstAmount) = 2.00 Euro MoneyUtility.GetTextFrom(secondAmount) = 0.40 Euro MoneyUtility.GetTextFrom(thirdAmount) = 5.24 Euro + +## 3. Aufgabe + +Nun soll eine Funktion namens GetTotalCentsFrom implementiert werden. + +Diese Funktion soll die Gesamtanzahl von Cents aus einem Geldbetrag herausfinden. Beispiel: Ein Money Objekt ist 2,50 Euro, dann sind das 250 Cents. + +1. Parameter ist der Geldbetrag von dem der ganze Cent Betrag errechnet werden soll. + +**Beispiel:** + +```C# +Money amount = MoneyUtility.CreateFrom(2, 50); +int cents = MoneyUtility.GetTotalCentsFrom(amount); +Console.WriteLine(cents); // 250 +``` + +**Test Code:** +```C# +Console.WriteLine("Testing for GetTotalCentsFrom"); + +Money firstAmount = MoneyUtility.CreateFrom(2, 0); +Console.WriteLine($"MoneyUtility.GetTotalCentsFrom(firstAmount) = {MoneyUtility.GetTotalCentsFrom(firstAmount)}"); + +Money secondAmount = MoneyUtility.CreateFrom(0, 40); +Console.WriteLine($"MoneyUtility.GetTotalCentsFrom(firstAmount) = {MoneyUtility.GetTotalCentsFrom(secondAmount)}"); + +Money thirdAmount = MoneyUtility.CreateFrom(5, 24); +Console.WriteLine($"MoneyUtility.GetTotalCentsFrom(firstAmount) = {MoneyUtility.GetTotalCentsFrom(thirdAmount)}"); + +``` + +**Erwartete Ausgabe:** + +Testing for GetTotalCentsFrom + +MoneyUtility.GetTotalCentsFrom(firstAmount) = 200 + +MoneyUtility.GetTotalCentsFrom(firstAmount) = 40 + +MoneyUtility.GetTotalCentsFrom(firstAmount) = 524 + +## 4. Aufgabe + +Es soll nun eine Funktion namens Add implementiert werden. + +Diese Funktion soll die Summe aus 2 Euro Beträgen errechnen. +Beispielsweise soll die Funktion bei den Geldbeträgen 2,42 und 1,30 Euro den Betrag 3,72 Euro als Summe zurückgeben. + +1. Parameter ist die linke Zahl einer Addition. +2. Parameter ist die rechte Zahle einer Addition. + +**Beispiel:** +```C# +Money first = MoneyUtility.CreateFrom(2, 42); +Money second = MoneyUtility.CreateFrom(1, 30); +Money sum = MoneyUtility.Add(first, second); +Console.WriteLine(MoneyUtility.GetTextFrom(sum)); // 3.72 Euro +``` +**Test Code:** +```C# +Console.WriteLine("Testing for Add"); + +Money firstAmount = MoneyUtility.CreateFrom(2, 0); +Money secondAmount = MoneyUtility.CreateFrom(5, 0); +Money sum = MoneyUtility.Add(firstAmount, secondAmount); +Console.WriteLine( + $"Sum with {MoneyUtility.GetTextFrom(firstAmount)} + {MoneyUtility.GetTextFrom(secondAmount)}" + + $" = {MoneyUtility.GetTextFrom(sum)}" +); + +firstAmount = MoneyUtility.CreateFrom(0, 42); +secondAmount = MoneyUtility.CreateFrom(0, 78); +sum = MoneyUtility.Add(firstAmount, secondAmount); +Console.WriteLine( + $"Sum with {MoneyUtility.GetTextFrom(firstAmount)} + {MoneyUtility.GetTextFrom(secondAmount)}" + + $" = {MoneyUtility.GetTextFrom(sum)}" +); + +firstAmount = MoneyUtility.CreateFrom(1, 42); +secondAmount = MoneyUtility.CreateFrom(9, 56); +sum = MoneyUtility.Add(firstAmount, secondAmount); +Console.WriteLine( + $"Sum with {MoneyUtility.GetTextFrom(firstAmount)} + {MoneyUtility.GetTextFrom(secondAmount)}" + + $" = {MoneyUtility.GetTextFrom(sum)}" +); +``` + +**Erwartete Ausgabe:** + +Testing for Add + +Sum with 2.00 Euro + 5.00 Euro = 7.00 Euro + +Sum with 0.42 Euro + 0.78 Euro = 1.20 Euro + +Sum with 1.42 Euro + 9.56 Euro = 10.98 Euro + + +## 5.Aufgabe + +Es soll nun die Funktion namens GetChange implementiert werden. + +Diese Funktion soll das Wechselgeld bei einem gegebenen Preis zurück gegeben. Beispielsweise ist 3 Euro als Preis gegeben und 4 Euro wird bezahlt. Dann soll 1 Euro als Wechselgeld zurück gegeben werden. + +1. Parameter ist der Preis. +2. Parameter ist die Zahlung. + +Besonderheit: Falls die Zahlung kleiner ist als der Preis, dann +soll 0 als Rückgabewert zurück gegeben werden. + +**Beispiel:** + +```C# +Money price = MoneyUtility.CreateFrom(3, 0); +Money payment = MoneyUtility.CreateFrom(4, 0); +Money change = MoneyUtility.GetChange(price, payment); +Console.WriteLine(MoneyUtility.GetTextFrom(change)); // 1.00 Euro +``` + +**Test Code:** +```C# +Console.WriteLine("Testing for GetChange"); + +Money price = MoneyUtility.CreateFrom(3, 0); +Money payment = MoneyUtility.CreateFrom(4, 0); +Money change = MoneyUtility.GetChange(price, payment); + +Console.WriteLine( + $"Price {MoneyUtility.GetTextFrom(price)} and paid {MoneyUtility.GetTextFrom(payment)} = " + + $" Change: {MoneyUtility.GetTextFrom(change)}" +); + +price = MoneyUtility.CreateFrom(0, 80); +payment = MoneyUtility.CreateFrom(0, 82); +change = MoneyUtility.GetChange(price, payment); + +Console.WriteLine( + $"Price {MoneyUtility.GetTextFrom(price)} and paid {MoneyUtility.GetTextFrom(payment)} =" + + $" Change: {MoneyUtility.GetTextFrom(change)}" +); + +price = MoneyUtility.CreateFrom(2, 42); +payment = MoneyUtility.CreateFrom(3, 11); +change = MoneyUtility.GetChange(price, payment); + +Console.WriteLine( + $"Price {MoneyUtility.GetTextFrom(price)} and paid {MoneyUtility.GetTextFrom(payment)} =" + + $" Change: {MoneyUtility.GetTextFrom(change)}" +); + +price = MoneyUtility.CreateFrom(5, 0); +payment = MoneyUtility.CreateFrom(3, 0); +change = MoneyUtility.GetChange(price, payment); + +Console.WriteLine( + $"Price {MoneyUtility.GetTextFrom(price)} and paid {MoneyUtility.GetTextFrom(payment)} =" + + $" Change: {MoneyUtility.GetTextFrom(change)}" +); + +``` + +**Erwartete Ausgabe:** + +Testing for GetChange + +Price 3.00 Euro and paid 4.00 Euro = Change: 1.00 Euro + +Price 0.80 Euro and paid 0.82 Euro = Change: 0.02 Euro + +Price 2.42 Euro and paid 3.11 Euro = Change: 0.69 Euro + +Price 5.00 Euro and paid 3.00 Euro = Change: 0.00 Euro diff --git a/Code/Money_Bridge/Bridge_Money_Console/Program.cs b/Code/Money_Bridge/Bridge_Money_Console/Program.cs index 3031899..282c27a 100644 --- a/Code/Money_Bridge/Bridge_Money_Console/Program.cs +++ b/Code/Money_Bridge/Bridge_Money_Console/Program.cs @@ -131,6 +131,15 @@ namespace Bridge_Money_Console $"Price {MoneyUtility.GetTextFrom(price)} and paid {MoneyUtility.GetTextFrom(payment)} =" + $" Change: {MoneyUtility.GetTextFrom(change)}" ); + + price = MoneyUtility.CreateFrom(5, 0); + payment = MoneyUtility.CreateFrom(3, 0); + change = MoneyUtility.GetChange(price, payment); + + Console.WriteLine( + $"Price {MoneyUtility.GetTextFrom(price)} and paid {MoneyUtility.GetTextFrom(payment)} =" + + $" Change: {MoneyUtility.GetTextFrom(change)}" + ); } } -- GitLab