From 7cb053ad941885a7f5885d60a05f508178903980 Mon Sep 17 00:00:00 2001 From: sebi Date: Mon, 28 Aug 2023 11:09:05 +0200 Subject: [PATCH] BUGFIX: Program Clear Screen ADD EXERCISES: Methods / E1 - E6 --- Program.cs | 24 ++++++++++++++ XX_Methods/Exercise_1.cs | 26 +++++++++++++++ XX_Methods/Exercise_2.cs | 18 ++++++++++ XX_Methods/Exercise_3.cs | 18 ++++++++++ XX_Methods/Exercise_4.cs | 18 ++++++++++ XX_Methods/Exercise_5.cs | 18 ++++++++++ XX_Methods/Exercise_6.cs | 72 ++++++++++++++++++++++++++++++++++++++++ lastPoint | 2 ++ 8 files changed, 196 insertions(+) create mode 100644 XX_Methods/Exercise_1.cs create mode 100644 XX_Methods/Exercise_2.cs create mode 100644 XX_Methods/Exercise_3.cs create mode 100644 XX_Methods/Exercise_4.cs create mode 100644 XX_Methods/Exercise_5.cs create mode 100644 XX_Methods/Exercise_6.cs create mode 100644 lastPoint diff --git a/Program.cs b/Program.cs index bd9354c..fcadb63 100644 --- a/Program.cs +++ b/Program.cs @@ -110,6 +110,23 @@ namespace Exercises_C_Sharp }; + + //************************ + //*******Methoden******* + //************************ + ExerciseGroup methodsElements = new ExerciseGroup() + { + Name = "Methoden", + ElementList = new List() + { + new ExerciseElement(){Name = "Übung 1", Method = XX_Methods.Exercise_1.Start}, + new ExerciseElement(){Name = "Übung 2", Method = XX_Methods.Exercise_2.Start}, + new ExerciseElement(){Name = "Übung 3", Method = XX_Methods.Exercise_3.Start}, + new ExerciseElement(){Name = "Übung 4", Method = XX_Methods.Exercise_4.Start}, + new ExerciseElement(){Name = "Übung 5", Method = XX_Methods.Exercise_5.Start}, + new ExerciseElement(){Name = "Übung 6", Method = XX_Methods.Exercise_6.Start} + } + }; //************************ //*******Überladung******* @@ -368,6 +385,7 @@ namespace Exercises_C_Sharp arrayElements, listElements, enumElements, + methodsElements, ueberladungElements, moredimensionalArrayElements, jaggedArrayElements, @@ -390,6 +408,7 @@ namespace Exercises_C_Sharp static void Menu() { Console.Clear(); + Console.SetCursorPosition(0,0); LoadMarkedExercises(); var pos = LoadCurrentElementAndCurrentList(); int currentElement = pos.Item1; @@ -397,12 +416,14 @@ namespace Exercises_C_Sharp while(true) { + Console.Clear(); for(int k = 0; k < OptionList.Count; k++) { var element = OptionList[k]; Console.WriteLine("**********************"); Console.WriteLine(element.Name); Console.WriteLine("**********************"); + //Console.ReadKey(); if(currentList == k) { for(int i = 0; i < element.ElementList.Count; i++) @@ -415,6 +436,7 @@ namespace Exercises_C_Sharp var key = Console.ReadKey(); if(key.Key == ConsoleKey.UpArrow) { + Console.Clear(); if(currentElement == 0 && currentList == 0) { currentList = OptionList.Count -1; @@ -430,6 +452,7 @@ namespace Exercises_C_Sharp } else if(key.Key == ConsoleKey.DownArrow) { + Console.Clear(); if(currentElement == OptionList[currentList].ElementList.Count - 1 && currentList == OptionList.Count -1) { currentList = 0; @@ -468,6 +491,7 @@ namespace Exercises_C_Sharp } else if(key.Key == ConsoleKey.X) { + Console.Clear(); var el = OptionList[currentList].ElementList[currentElement]; if(el.IsMarked == false) OptionList[currentList].ElementList[currentElement].IsMarked = true; diff --git a/XX_Methods/Exercise_1.cs b/XX_Methods/Exercise_1.cs new file mode 100644 index 0000000..7591db9 --- /dev/null +++ b/XX_Methods/Exercise_1.cs @@ -0,0 +1,26 @@ +namespace Exercises_C_Sharp.XX_Methods +{ + class Exercise_1 + { + public static void Start() + { + //Rufen Sie die unten stehende Methode auf. + //Code START + + //Code ENDE + } + + static void ShowImage() + { + Console.WriteLine("**#***********************#**"); + Console.WriteLine("***#*********************#***"); + Console.WriteLine("****#*******************#****"); + Console.WriteLine("*****#********##*******#*****"); + Console.WriteLine("******#******#**#*****#******"); + Console.WriteLine("*******#****#****#***#*******"); + Console.WriteLine("********#**#******#*#********"); + Console.WriteLine("*********##********#*********"); + } + + } +} \ No newline at end of file diff --git a/XX_Methods/Exercise_2.cs b/XX_Methods/Exercise_2.cs new file mode 100644 index 0000000..db358e8 --- /dev/null +++ b/XX_Methods/Exercise_2.cs @@ -0,0 +1,18 @@ +namespace Exercises_C_Sharp.XX_Methods +{ + class Exercise_2 + { + public static void Start() + { + //2. Rufen Sie die unten erstellte Methode auf. + //Code START + + //Code ENDE + } + //Schreiben Sie eine Methode "Superstart", die auf der Konsole ein Begrüßungsfloskel ausgibt und zusätzlich noch auf die Konsole schreibt, dass das Programm gestartet wurde. + //Code START + + //Code ENDE + + } +} \ No newline at end of file diff --git a/XX_Methods/Exercise_3.cs b/XX_Methods/Exercise_3.cs new file mode 100644 index 0000000..6022144 --- /dev/null +++ b/XX_Methods/Exercise_3.cs @@ -0,0 +1,18 @@ +namespace Exercises_C_Sharp.XX_Methods +{ + class Exercise_3 + { + public static void Start() + { + //2. Rufen Sie die unten erstellte Methode dreimal auf. Starten Sie mit dem Wert "13" und arbeiten Sie dann jeweils mit dem Rückgabewert weiter. + //Code START + + //Code ENDE + } + //Schreiben Sie eine Methode, die eine Übergebene Zahl verdoppelt und zurück gibt. + //Code START + + //Code ENDE + + } +} \ No newline at end of file diff --git a/XX_Methods/Exercise_4.cs b/XX_Methods/Exercise_4.cs new file mode 100644 index 0000000..8626817 --- /dev/null +++ b/XX_Methods/Exercise_4.cs @@ -0,0 +1,18 @@ +namespace Exercises_C_Sharp.XX_Methods +{ + class Exercise_4 + { + public static void Start() + { + //2. Rufen Sie die unten erstellte Methode auf und geben Sie den Inhalt auf der Konsole aus. + //Code START + + //Code ENDE + } + //Erstellen Sie eine Methode, die bei jedem Aufruf zufällig eine von 10 Begrüßungen zurück gibt. + //Code START + + //Code ENDE + + } +} \ No newline at end of file diff --git a/XX_Methods/Exercise_5.cs b/XX_Methods/Exercise_5.cs new file mode 100644 index 0000000..f0167fe --- /dev/null +++ b/XX_Methods/Exercise_5.cs @@ -0,0 +1,18 @@ +namespace Exercises_C_Sharp.XX_Methods +{ + class Exercise_5 + { + public static void Start() + { + //2. Fragen Sie den Nutzer mit Hilfe der unten erstellten Methode nach einer Primzahl. Fragen Sie diesen dann, ob er noch eine weitere Primzahl eingeben möchte. Wiederholen Sie den Vorgang, bis der Nutzer keine Zahl mehr eingeben möchte. Multiplizieren Sie dann alle Eingaben miteinander und geben das Ergebnis aus. + //Code START + + //Code ENDE + } + //Schreiben Sie eine Methode, bei der der Nutzer eine Primzahl (Zahl, die nur durch 1 und sich selbst teilbar ist) eingeben soll. Geben Sie diese Zahl zurück. Wenn der Nutzer eine falsche Eingabe tätigt, dann soll der Nutzer darüber informiert und die Abfrage wiederholt werden. + //Code START + + //Code ENDE + + } +} \ No newline at end of file diff --git a/XX_Methods/Exercise_6.cs b/XX_Methods/Exercise_6.cs new file mode 100644 index 0000000..b79ffa9 --- /dev/null +++ b/XX_Methods/Exercise_6.cs @@ -0,0 +1,72 @@ +namespace Exercises_C_Sharp.XX_Methods +{ + //In dieser Aufgabe wurde eine Art Hangman programmiert. Leider handelt es sich hierbei um sogenannten "Spaghetti-Code". Ihre Aufgabe ist nun, alle Elemente in dieser Aufgabe, um die "Code START/ENDE" steht, in Methoden auszulagern. Rufen Sie dann anstelle des Codes die Methode auf. + class Exercise_6 + { + static List StringList = new List(){ "ELTERN", "BAUM", "HAUSDACH", "GELÄNDEWAGEN"}; + static List InputList = new List(); + public static void Start() + { + Random rand = new Random(); + //Wählen eines zufälligen Elements + string word = StringList[rand.Next(0, StringList.Count)]; + int tries = 0; + + while(true) + { + //Ausgabe der Anzeige für den User + //Code START + Console.Clear(); + foreach(var element in word) + { + if(InputList.Contains(element)) + Console.Write(element); + else + Console.Write("_"); + } + Console.WriteLine(); + //Code ENDE + + //Fragen nach der Eingabe + //Code START + Console.WriteLine("Bitte geben Sie einen Buchstaben ein:"); + while(true) + { + string userinput = (Console.ReadLine() ?? "").ToUpper(); + if(userinput == null || userinput.Length == 0 || InputList.Contains(userinput[0])) + continue; + InputList.Add(userinput[0]); + break; + } + //Code ENDE + tries++; + + //Kontrolle, ob alle Elemente gefunden wurden + //Code START + bool allFound = true; + foreach(var element in word) + { + if(!InputList.Contains(element)) + { + allFound = false; + break; + } + } + //Code ENDE + if(allFound) + break; + } + + //Ausgaben der Spielstatistiken + Console.WriteLine("Herzlichen Glückwunsch! Sie haben gewonnen!"); + Console.WriteLine("Das Wort war: " + word); + Console.WriteLine("Ihre Versuche: " + tries); + } + + //Hier kommen die Methoden hin: + //Code START + + //Code ENDE + + } +} \ No newline at end of file diff --git a/lastPoint b/lastPoint new file mode 100644 index 0000000..b3172d1 --- /dev/null +++ b/lastPoint @@ -0,0 +1,2 @@ +5 +7