C# :: Aufgabe #291

4 Lösungen Lösungen öffentlich

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

Lösungen:

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");
        }
    }
}
vote_ok
von JKooP (18090 Punkte) - 29.03.2020 um 11:56 Uhr
NET Core 3.x
Lösung 2 - von Meter in angelsächsisch:

Quellcode ausblenden C#-Code
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)}");
        }
    }
}
vote_ok
von DragStar (2000 Punkte) - 03.04.2020 um 16:01 Uhr
Quellcode ausblenden C#-Code
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();
        }
    }
}
vote_ok
von steinwand (150 Punkte) - 08.04.2020 um 11:19 Uhr
Quellcode ausblenden C#-Code
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;
            }
        }
    }
}