From ff37b0bc2d060c42d8ded3870f00de93f651238c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Sch=C3=BCler?= Date: Tue, 28 Oct 2025 15:38:35 +0100 Subject: [PATCH] E25 Ex1 - 9 --- Exercises/E25_Tuple/Exercise_1.cs | 6 ++-- Exercises/E25_Tuple/Exercise_2.cs | 4 +-- Exercises/E25_Tuple/Exercise_3.cs | 2 +- Exercises/E25_Tuple/Exercise_4.cs | 4 +-- Exercises/E25_Tuple/Exercise_5.cs | 20 ++++++++--- Exercises/E25_Tuple/Exercise_6.cs | 2 +- Exercises/E25_Tuple/Exercise_7.cs | 4 +-- Exercises/E25_Tuple/Exercise_8.cs | 24 ++++++++++++-- Exercises/E25_Tuple/Exercise_9.cs | 55 ++++++++++++++++++++++++++++++- lastPoint | 4 +-- 10 files changed, 104 insertions(+), 21 deletions(-) diff --git a/Exercises/E25_Tuple/Exercise_1.cs b/Exercises/E25_Tuple/Exercise_1.cs index 3f299f2..b7cc4a6 100644 --- a/Exercises/E25_Tuple/Exercise_1.cs +++ b/Exercises/E25_Tuple/Exercise_1.cs @@ -11,13 +11,13 @@ namespace Exercises_C_Sharp.E25_Tuple public static void Start() { //Code START - Meth("Hans", 35); + Meth(("Hans", 35)); //Code ENDE } - static void Meth(/*CODE START*/string name, int age/*CODE ENDE*/) + static void Meth(/*CODE START*/(string name, int age) v/*CODE ENDE*/) { - Console.WriteLine("{0} ist {1} Jahre alt.", name, age); + Console.WriteLine("{0} ist {1} Jahre alt.", v.name, v.age); } } } \ No newline at end of file diff --git a/Exercises/E25_Tuple/Exercise_2.cs b/Exercises/E25_Tuple/Exercise_2.cs index cbca329..a3458f8 100644 --- a/Exercises/E25_Tuple/Exercise_2.cs +++ b/Exercises/E25_Tuple/Exercise_2.cs @@ -6,14 +6,14 @@ namespace Exercises_C_Sharp.E25_Tuple { class Exercise_2 { - //Ändern Sie die Werte in dem Tuple 'tup', sodass die Werte "Breite2 und 12.9 darin stehen. + //Ändern Sie die Werte in dem Tuple 'tup', sodass die Werte "Breite" und 12.9 darin stehen. public static void Start() { Tuple tup = new Tuple("Länge", 12.54); //Code START - + tup = new("Breite", 12.9); //Code ENDE diff --git a/Exercises/E25_Tuple/Exercise_3.cs b/Exercises/E25_Tuple/Exercise_3.cs index f6b8418..29c490a 100644 --- a/Exercises/E25_Tuple/Exercise_3.cs +++ b/Exercises/E25_Tuple/Exercise_3.cs @@ -11,7 +11,7 @@ namespace Exercises_C_Sharp.E25_Tuple public static void Start() { //Code START - dynamic tup = -1; + (string, int, string) tup = ("Mt. Everest", 8849, "Himalaya"); //Code ENDE diff --git a/Exercises/E25_Tuple/Exercise_4.cs b/Exercises/E25_Tuple/Exercise_4.cs index 9cb9224..7875b0b 100644 --- a/Exercises/E25_Tuple/Exercise_4.cs +++ b/Exercises/E25_Tuple/Exercise_4.cs @@ -14,7 +14,7 @@ namespace Exercises_C_Sharp.E25_Tuple Console.WriteLine("Das Wort {0} hat {1} den Buchstaben {2} enthalten.", element.Item1, element.Item2, element.Item3); } - static /*Code START*/dynamic/*Code ENDE*/ Meth() + static /*Code START*/(string, int, char)/*Code ENDE*/ Meth() { string s = Console.ReadLine() ?? string.Empty; int res = 0; @@ -23,7 +23,7 @@ namespace Exercises_C_Sharp.E25_Tuple res++; //Code START - return s + res; + return (s, res, 'A'); //Code ENDE } diff --git a/Exercises/E25_Tuple/Exercise_5.cs b/Exercises/E25_Tuple/Exercise_5.cs index 3dfdf94..afe7ff5 100644 --- a/Exercises/E25_Tuple/Exercise_5.cs +++ b/Exercises/E25_Tuple/Exercise_5.cs @@ -9,7 +9,9 @@ namespace Exercises_C_Sharp.E25_Tuple //Erstellen Sie eine Liste von Tupeln. Sorgen Sie dafür, dass die Liste mit der unteren Methode gefüllt wird. Geben Sie zum Schluss die Elemente aus. //Code START - static dynamic tupleList = -1; + static List<(string,int)> tupleList = []; + //static List<(string,int)> tupleList = new(); + //static List<(string,int)> tupleList = new List<(string, int)>(); //Code ENDE public static void Start() { @@ -27,16 +29,26 @@ namespace Exercises_C_Sharp.E25_Tuple foreach(var element in tupleList) { //Code START - + Console.WriteLine("--------------"); + Console.WriteLine("String: " + element.Item1); + Console.WriteLine("Integer: " + element.Item2); //Code ENDE } } //Diese Methode soll den Nutzer nach einen String und einen int fragen und diese kombination dann in einem Tuple zurück geben. Sorgen Sie dafür, dass der Nutzer valide Werte eingibt. - static /*Code START*/ dynamic /*Code ENDE*/ GetStringAndIntFromUser() + static /*Code START*/ (string, int) /*Code ENDE*/ GetStringAndIntFromUser() { //Code START - return -1; + Console.WriteLine("Bitte geben Sie einen String ein:"); + string s = Console.ReadLine() ?? ""; + while (string.IsNullOrWhiteSpace(s)) + s = Console.ReadLine() ?? ""; + Console.WriteLine("Bitte geben Sie einen validen Integer ein:"); + int a; + while (!int.TryParse(Console.ReadLine(), out a)) ; + + return (s, a); //Code ENDE } diff --git a/Exercises/E25_Tuple/Exercise_6.cs b/Exercises/E25_Tuple/Exercise_6.cs index ecca0d0..2a940ec 100644 --- a/Exercises/E25_Tuple/Exercise_6.cs +++ b/Exercises/E25_Tuple/Exercise_6.cs @@ -9,7 +9,7 @@ namespace Exercises_C_Sharp.E25_Tuple //Sorgen Sie dafür, dass 7 und 345 ausgegeben wird: //Code START - static dynamic tupList = -1; + static List<(int, int, int)> tupList = [(345,0,0), (0,0,0), (0,0,0), (0,0,0), (0,0,0), (0,0,0), (0,0,0)]; //Code ENDE public static void Start() { diff --git a/Exercises/E25_Tuple/Exercise_7.cs b/Exercises/E25_Tuple/Exercise_7.cs index d827f84..71e762c 100644 --- a/Exercises/E25_Tuple/Exercise_7.cs +++ b/Exercises/E25_Tuple/Exercise_7.cs @@ -11,13 +11,13 @@ namespace Exercises_C_Sharp.E25_Tuple public static void Start() { //Code START - dynamic element = -1; + (string, int) element = ("Etnemeleratnemel", 0); //Code ENDE Meth(element); } - static void Meth(dynamic tup) + static void Meth((string, int) tup) { int temp = tup.Item2; while(tup.Item1.Length <= temp || temp < 0) diff --git a/Exercises/E25_Tuple/Exercise_8.cs b/Exercises/E25_Tuple/Exercise_8.cs index 8526677..36e091b 100644 --- a/Exercises/E25_Tuple/Exercise_8.cs +++ b/Exercises/E25_Tuple/Exercise_8.cs @@ -10,7 +10,15 @@ namespace Exercises_C_Sharp.E25_Tuple public static void Start() { //Code START - dynamic element = -1; + List element = []; + + while(true) + { + Console.WriteLine("Bitte nächsten Wert eingeben, leer für Abbruch:"); + string? s = Console.ReadLine(); + if (string.IsNullOrWhiteSpace(s)) break; + element.Add(s); + } //Code ENDE foreach(var item in Meth(element)) { @@ -21,7 +29,7 @@ namespace Exercises_C_Sharp.E25_Tuple //Achten Sie auf die deutsche Grammatik! //Code START - + Console.WriteLine(item.Item1 + " -> " + item.Item2 + " Selbstlaut" + (item.Item2 != 1 ? "e" : "")); //Code ENDE } @@ -30,7 +38,17 @@ namespace Exercises_C_Sharp.E25_Tuple static List> Meth(List stringList) { //Code START - dynamic returnList = -1; + List> returnList = []; + List chars = ['a', 'A', 'E', 'e', 'i', 'I', 'o', 'O', 'u', 'U']; + foreach(var element in stringList) + { + int i = 0; + foreach(var item in element) + if (chars.Contains(item)) + i++; + returnList.Add(new(element, i)); + } + //Code ENDE return returnList; diff --git a/Exercises/E25_Tuple/Exercise_9.cs b/Exercises/E25_Tuple/Exercise_9.cs index 3c4aae4..2213a3b 100644 --- a/Exercises/E25_Tuple/Exercise_9.cs +++ b/Exercises/E25_Tuple/Exercise_9.cs @@ -12,7 +12,32 @@ namespace Exercises_C_Sharp.E25_Tuple { //Starten Sie hier und füllen Sie die Liste 'Kochbuch' mit mindesten drei Rezepten //Code START - + Kochbuch = [ + new( + "Zwiebelsuppe", + [ + new("Wasser", 500), + new("Zwiebeln", 3), + new("Suppenpulver", 30), + ] + ), + new( + "Kartoffelsuppe", + [ + new("Wasser", 500), + new("Kartoffeln", 8), + new("Suppenpulver", 30), + ] + ), + new( + "Lauchsuppe", + [ + new("Wasser", 500), + new("Lauch", 4), + new("Suppenpulver", 30), + ] + ), + ]; //Code ENDE Console.WriteLine("------ Gefülltes Kochbuch -----"); @@ -43,14 +68,42 @@ namespace Exercises_C_Sharp.E25_Tuple static void DeleteElementFromKochbuch() { //Code START + for (int i = 0; i < Kochbuch.Count; i++) + Console.WriteLine(i + ".) " + Kochbuch[i].Item1); + int k = 0; + Console.WriteLine("Bitte Index des zu löschenden Rezepts eingeben:"); + while (!int.TryParse(Console.ReadLine(), out k) || k < 0 || k >= Kochbuch.Count) ; + + Kochbuch.RemoveAt(k); //Code ENDE } //In dieser Methode soll der Anwender ein Rezept hinzufügen können static void AddNewToKochbuch() { //Code START + List> zutaten = []; + string rezeptnamen; + Console.WriteLine("Bitte geben Sie einen Rezeptnamen ein:"); + rezeptnamen = Console.ReadLine() ?? "(default)"; + + while (true) + { + Console.WriteLine("Bitte Zutat eingeben:"); + string zutat = Console.ReadLine() ?? "(default)"; + + Console.WriteLine("Bitte Menge eingeben:"); + double d; + while (!double.TryParse(Console.ReadLine(), out d)) ; + + zutaten.Add(new(zutat, d)); + + Console.WriteLine("Sind alle Zutaten eingegeben, dann Y"); + if (Console.ReadKey().Key == ConsoleKey.Y) break; + } + + Kochbuch.Add(new(rezeptnamen, zutaten)); //Code ENDE } } diff --git a/lastPoint b/lastPoint index 7abc138..4ed6f66 100644 --- a/lastPoint +++ b/lastPoint @@ -1,2 +1,2 @@ -4 -21 +6 +24