C# :: Aufgabe #291 :: Lösung #1

4 Lösungen Lösungen öffentlich
#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
1x
vote_ok
von JKooP (18090 Punkte) - 29.03.2020 um 11:54 Uhr
NET Core 3.x
Lösung 1 - von angelsächsisch in Meter:

Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;

namespace CS_Aufgabe_291_Angelsaechsische_M2
{
    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 Wert für Ausgangslänge eingeben: ");
                _ = double.TryParse(Console.ReadLine(), out length);

                Console.Write("\nBitte Ausgangslänge (1-Inch; 2-Foot; 3-Yard; 4-Mile) wählen: ");
                _ = 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 = lst.Where(x => (int)x.f == f_length).Select(x => x.v).FirstOrDefault() * length;

            Console.WriteLine($"\n{result:0.0000} m");
        }
    }
}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben