BUGFIX: Program Clear Screen

ADD EXERCISES: Methods / E1 - E6
main
Sebastian Schüler 2023-08-28 11:09:05 +02:00
parent 1ee57d1b40
commit 7cb053ad94
8 changed files with 196 additions and 0 deletions

View File

@ -110,6 +110,23 @@ namespace Exercises_C_Sharp
};
//************************
//*******Methoden*******
//************************
ExerciseGroup methodsElements = new ExerciseGroup()
{
Name = "Methoden",
ElementList = new List<ExerciseElement>()
{
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;

26
XX_Methods/Exercise_1.cs Normal file
View File

@ -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("*********##********#*********");
}
}
}

18
XX_Methods/Exercise_2.cs Normal file
View File

@ -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
}
}

18
XX_Methods/Exercise_3.cs Normal file
View File

@ -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
}
}

18
XX_Methods/Exercise_4.cs Normal file
View File

@ -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
}
}

18
XX_Methods/Exercise_5.cs Normal file
View File

@ -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
}
}

72
XX_Methods/Exercise_6.cs Normal file
View File

@ -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<string> StringList = new List<string>(){ "ELTERN", "BAUM", "HAUSDACH", "GELÄNDEWAGEN"};
static List<char> InputList = new List<char>();
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
}
}

2
lastPoint Normal file
View File

@ -0,0 +1,2 @@
5
7