C# :: Aufgabe #291 :: Lösung #2
4 Lösungen

#291
Angelsächsische Maße umrechnen
Anfänger - C#
von DragStar
- 23.03.2020 um 09:41 Uhr
Die angelsächsischen Maße sind ja manchmal etwas seltsam. Schreiben Sie ein Programm, welches nach einer Menüauswahl:
1: inch, 2: foot, 3: yard, 4: mile
und der nachfolgenden Eingabe eines Maßes, dieses nach folgender Tabelle in Meter umrechnet:
inch 0,0254 m
foot 0,3048 m
yard 0,9144 m
mile 1609,34 m
1: inch, 2: foot, 3: yard, 4: mile
und der nachfolgenden Eingabe eines Maßes, dieses nach folgender Tabelle in Meter umrechnet:
inch 0,0254 m
foot 0,3048 m
yard 0,9144 m
mile 1609,34 m
#2

von JKooP (18090 Punkte)
- 29.03.2020 um 11:56 Uhr
NET Core 3.x
Lösung 2 - von Meter in angelsächsisch:
C#-Code
Lösung 2 - von Meter in angelsächsisch:

using System; using System.Collections.Generic; using System.Linq; namespace CS_Aufgabe_291_Angelsaechsische_M { class Program { public enum F_Lengths { inch = 1, foot, yard, mile } static void Main(string[] args) { var result = 0.0; var length = 0.0; var f_length = 0; var lst = new List<(F_Lengths f, double v)>() { (F_Lengths.inch, 0.0254), (F_Lengths.foot, 0.3048), (F_Lengths.yard, 0.9144), (F_Lengths.mile, 1609.34) }; while (true) { Console.Write("Bitte Länge in Meter eingeben: "); _ = double.TryParse(Console.ReadLine(), out length); Console.Write("\nBitte Ziellänge (1-Inch; 2-Foot; 3-Yard; 4-Mile) eingeben: "); _ = int.TryParse(Console.ReadLine(), out f_length); if (length == 0 || f_length < 1 || f_length > 4) { Console.WriteLine("\nEingaben waren nicht korrekt:\n"); continue; } break; } result = length / lst.Where(x => (int)x.f == f_length).Select(x => x.v).FirstOrDefault(); Console.WriteLine($"\n{result:0.00} {Enum.GetName(typeof(F_Lengths), f_length)}"); } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1