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
