E18 Ex 5 + 6, E19 E1

This commit is contained in:
sebi 2025-02-25 16:49:32 +01:00
parent 4eb951759e
commit ce0172a438
4 changed files with 76 additions and 33 deletions

View File

@ -7,14 +7,42 @@ namespace Exercises_C_Sharp.E18_Methods
//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
string input = string.Empty;
int mul = 1;
do
{
mul *= Meth();
Console.WriteLine("Wollen Sie noch eine Zahl eingeben???? (y => JA)");
input = Console.ReadLine() ?? string.Empty;
}
while(input == "y");
Console.WriteLine("Das Ergebnis: " + mul);
//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
static void Meth()
static int Meth()
{
int userinput;
while(!int.TryParse(Console.ReadLine(), out userinput));
Console.WriteLine("Bitte gebe Sie eine Primzahl ein:");
while(!int.TryParse(Console.ReadLine(), out userinput) || !IsNumberPrim(userinput))
Console.WriteLine("Leider war die Eingabe kein gültige Zahl!");
return userinput;
}
static bool IsNumberPrim(int i)
{
//37
//37 % 2 = 1
//37 % 3 = 1
//37 % 5 = 2
//37 % 7 = 2
//37 % 11 = 4
//...
for(int k = 2; k < i; k++)
if(i % k == 0) return false;
return true;
}
//Code ENDE

View File

@ -1,3 +1,5 @@
using System.Reflection;
namespace Exercises_C_Sharp.E18_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.
@ -16,42 +18,18 @@ namespace Exercises_C_Sharp.E18_Methods
{
//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();
ShowSearchingWord(word);
//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;
}
AskForInput();
//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;
}
}
var allFound = TestElementsFound(word);
//Code ENDE
if(allFound)
break;
@ -66,6 +44,39 @@ namespace Exercises_C_Sharp.E18_Methods
//Hier kommen die Methoden hin:
//Code START
static void ShowSearchingWord(string word)
{
Console.Clear();
foreach(var element in word)
{
if(InputList.Contains(element))
Console.Write(element);
else
Console.Write("_");
}
Console.WriteLine();
}
static void AskForInput()
{
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;
}
}
static bool TestElementsFound(string word)
{
foreach(var element in word)
if(!InputList.Contains(element))
return false;
return true;
}
//Code ENDE
}

View File

@ -13,9 +13,13 @@ namespace Exercises_C_Sharp.E19_Überladung
Output("Hallo");
}
//Code START
static void Output(dynamic d)
static void Output(int d)
{
Console.WriteLine("Es ist ein INT! Sein Wert ist " + d);
}
static void Output(string d)
{
Console.WriteLine("Es ist ein STRING! Sein Wert ist " + d);
}
//Code ENDE
}

View File

@ -1,2 +1,2 @@
0
4
17