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

@ -6,15 +6,43 @@ 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. //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 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 //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. //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 START
static void Meth() static int Meth()
{ {
int userinput; 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 //Code ENDE

View File

@ -1,3 +1,5 @@
using System.Reflection;
namespace Exercises_C_Sharp.E18_Methods 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. //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 //Ausgabe der Anzeige für den User
//Code START //Code START
Console.Clear(); ShowSearchingWord(word);
foreach(var element in word)
{
if(InputList.Contains(element))
Console.Write(element);
else
Console.Write("_");
}
Console.WriteLine();
//Code ENDE //Code ENDE
//Fragen nach der Eingabe //Fragen nach der Eingabe
//Code START //Code START
Console.WriteLine("Bitte geben Sie einen Buchstaben ein:"); AskForInput();
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 //Code ENDE
tries++; tries++;
//Kontrolle, ob alle Elemente gefunden wurden //Kontrolle, ob alle Elemente gefunden wurden
//Code START //Code START
bool allFound = true; var allFound = TestElementsFound(word);
foreach(var element in word)
{
if(!InputList.Contains(element))
{
allFound = false;
break;
}
}
//Code ENDE //Code ENDE
if(allFound) if(allFound)
break; break;
@ -65,7 +43,40 @@ namespace Exercises_C_Sharp.E18_Methods
//Hier kommen die Methoden hin: //Hier kommen die Methoden hin:
//Code START //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 //Code ENDE
} }

View File

@ -13,9 +13,13 @@ namespace Exercises_C_Sharp.E19_Überladung
Output("Hallo"); Output("Hallo");
} }
//Code START //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 //Code ENDE
} }

View File

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