From 1fcd56b9f53c06510156cc90f2350536a6b94d50 Mon Sep 17 00:00:00 2001 From: sebi Date: Tue, 11 Mar 2025 17:02:35 +0100 Subject: [PATCH] E19 Ex 2 - 5 --- Exercises/E19_Überladung/Exercise_2.cs | 20 ++++++------- Exercises/E19_Überladung/Exercise_3.cs | 20 +++++++++---- Exercises/E19_Überladung/Exercise_4.cs | 10 +++++-- Exercises/E19_Überladung/Exercise_5.cs | 41 +++++++++++++++++++++++++- 4 files changed, 72 insertions(+), 19 deletions(-) diff --git a/Exercises/E19_Überladung/Exercise_2.cs b/Exercises/E19_Überladung/Exercise_2.cs index 775b36a..efc20ce 100644 --- a/Exercises/E19_Überladung/Exercise_2.cs +++ b/Exercises/E19_Überladung/Exercise_2.cs @@ -9,24 +9,22 @@ namespace Exercises_C_Sharp.E19_Überladung //Schreiben Sie den unteren Code so um, dass die Felder Number und DoubleNumber entfernt werden können. Nutzen Sie dafür die Möglichkeit der Überladung. //Code START - static int Number = 0; - static double DoubleNumber = 0.0; public static void Start() { - Number = 13; - Output(); - DoubleNumber = 34.23; - Output(); + Output(546); + Output(4); + Output(34.23); } - static void Output() + static void Output(int Number) { - if(Number != 0) - Console.WriteLine("Der Integer {0} wurde gesetzt.", Number); - else if(DoubleNumber != 0.0) - Console.WriteLine("Der Double {0} wurde gesetzt.", DoubleNumber); + Console.WriteLine("Der Integer {0} wurde gesetzt.", Number); + } + static void Output(double DoubleNumber) + { + Console.WriteLine("Der Double {0} wurde gesetzt.", DoubleNumber); } //Code ENDE } diff --git a/Exercises/E19_Überladung/Exercise_3.cs b/Exercises/E19_Überladung/Exercise_3.cs index c68f159..0c6ed88 100644 --- a/Exercises/E19_Überladung/Exercise_3.cs +++ b/Exercises/E19_Überladung/Exercise_3.cs @@ -12,22 +12,32 @@ namespace Exercises_C_Sharp.E19_Überladung { Output(12); Output("Hallo", 12.5); - Output(15.15, "Heyho"); + Output( 15.15, "Heyho"); Output(123, "Element", 'G'); } //Code START - static void Output(dynamic d) + static void Output(int d) { + Console.WriteLine("DER INTEGER: " + d); + } + static void Output(string d, double d2) + { + Console.WriteLine("DER STRING: " + d); + Console.WriteLine("DER DOUBLE: " + d2); } - static void Output(dynamic d, dynamic d2) + static void Output(double d2, string d) { + Console.WriteLine("DER STRING: " + d); + Console.WriteLine("DER DOUBLE: " + d2); } - static void Output(dynamic d, dynamic d2, dynamic d3) + static void Output(int d, string d2, char d3) { - + Console.WriteLine("DER STRING: " + d2); + Console.WriteLine("DER INTEGER: " + d); + Console.WriteLine("DER CHARACTER: " + d3); } //Code ENDE } diff --git a/Exercises/E19_Überladung/Exercise_4.cs b/Exercises/E19_Überladung/Exercise_4.cs index 6f26d95..dd90bf4 100644 --- a/Exercises/E19_Überladung/Exercise_4.cs +++ b/Exercises/E19_Überladung/Exercise_4.cs @@ -16,9 +16,15 @@ namespace Exercises_C_Sharp.E19_Überladung } //Code START - static int ConvertToInt(dynamic d) + static int ConvertToInt(char d) { - return -1; + return d; + } + static int ConvertToInt(string d) + { + int sum = 0; + foreach(var element in d) sum += element; + return sum; } //Code ENDE } diff --git a/Exercises/E19_Überladung/Exercise_5.cs b/Exercises/E19_Überladung/Exercise_5.cs index cd522b2..5fcdb7c 100644 --- a/Exercises/E19_Überladung/Exercise_5.cs +++ b/Exercises/E19_Überladung/Exercise_5.cs @@ -26,9 +26,48 @@ namespace Exercises_C_Sharp.E19_Überladung } //Code START - static void Analyze(dynamic d) + static void Analyze(double d) { + int amount = 0; + int index = d.ToString().IndexOf(","); + if(index == -1) amount = 0; + else amount = d.ToString().Length - index - 1; + Console.WriteLine("Das übergebene Element ist ein Double. Dieser besitzt {0} Nachkommastellen.", amount); + + //ODER: + double res = d - (int)d; + int amount2 = 0; + while(res != 0) + { + amount2++; + res *= 10; + res = res - (int)res; + } + Console.WriteLine("Das übergebene Element ist ein Double. Dieser besitzt {0} Nachkommastellen.", amount2); + } + static void Analyze(char d) + { + Console.WriteLine("Das übergebene Element ist ein Character mit der dezimalen Codierung {0}.", (int)d); + + } + static void Analyze(string d) + { + Console.WriteLine("Das übergebene Element ist ein String mit der Länge {0}.", d.Length); + } + static void Analyze(int d) + { + Console.WriteLine("Das übergebene Element ist ein Integer {0} Stellen.", d.ToString().Length); + + //ODER: + + int amount = 0; + do + { + amount++; + d /= 10; + }while(d > 0); + Console.WriteLine("Das übergebene Element ist ein Integer {0} Stellen.", amount); } //Code ENDE }