C# :: Aufgabe #291
4 Lösungen

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
Lösungen:
NET Core 3.x
Lösung 1 - von angelsächsisch in Meter:
C#-Code
Lösung 1 - von angelsächsisch in Meter:

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"); } } }
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)}"); } } }

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Übungsaufgaben_SCA___Aufgabe_9 { class Program { /*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*/ static void Main(string[] args) { double inch = 0.0254, foot = 0.3048, yard = 0.9144, mile = 1609.34, auswahl, eingabe, meter; Console.WriteLine("1 - inch"); Console.WriteLine("2 - foot"); Console.WriteLine("3 - yard"); Console.WriteLine("4 - mile"); Console.Write("\nBitte wählen Sie eine Maßeinheit, die Sie in Meter umrechnen wollen: "); auswahl = Convert.ToDouble(Console.ReadLine()); switch (auswahl) { case 1: Console.Write("\nWieviele inches wollen Sie in Meter umrechnen: "); eingabe = Convert.ToDouble(Console.ReadLine()); meter = Math.Round((eingabe * inch), 3); Console.WriteLine("\n" + eingabe + " inches sind " + meter + " Meter."); break; case 2: Console.Write("\nWieviele foot wollen Sie in Meter umrechnen: "); eingabe = Convert.ToDouble(Console.ReadLine()); meter = Math.Round((eingabe * foot), 3); Console.WriteLine("\n" + eingabe + " foot sind " + meter + " Meter."); break; case 3: Console.Write("\nWieviele yards wollen Sie in Meter umrechnen: "); eingabe = Convert.ToDouble(Console.ReadLine()); meter = Math.Round((eingabe * yard), 3); Console.WriteLine("\n" + eingabe + " yards sind " + meter + " Meter."); break; case 4: Console.Write("\nWieviele miles wollen Sie in Meter umrechnen: "); eingabe = Convert.ToDouble(Console.ReadLine()); meter = Math.Round((eingabe * mile), 3); Console.WriteLine("\n" + eingabe + "miles sind " + meter + " Meter."); break; String.Format("#,0.##"); default: break; } Console.ReadKey(); } } }

using System; namespace Maße { class Program { static void Main(string[] args) { double inch = 0.0254, foot = 0.3048, yard = 0.9144, mile = 1609.34; Console.WriteLine("Wählen Sie bitte aus: 1: inch, 2: foot, 3: yard, 4: mile"); string input = Console.ReadLine(); Console.WriteLine("Geben Sie die Meter Anzahl ein welche Sie umrechnen möchten: "); string meter = Console.ReadLine(); switch (input) { case "1": Console.WriteLine(double.Parse(meter) / inch + " inch"); break; case "2": Console.WriteLine(double.Parse(meter) / foot + " foot"); break; case "3": Console.WriteLine(double.Parse(meter) / yard + " yard"); break; case "4": Console.WriteLine(double.Parse(meter) / mile+" miles"); break; } } } }