C# :: Aufgabe #259

3 Lösungen Lösungen öffentlich

Währung's Rechner vom Aktuellen Kurs

Fortgeschrittener - C# von maxi72501 - 29.04.2019 um 14:17 Uhr
Währungen: Euro, US-Dollar, Pfund Sterling, Dänische Krone, Yen, Rupie, Neue Lira, ...

Die Aufgabe Lautet: Schreibe ein Programm das mit den oben genannten Währungen eine Liste wo der Benutzer auswählen kann welche Währung er hat und in welche Währung er umrechnen will.

Das Datum des angegebenen Kurses der einzelnen Währung sollte angegeben werden!!!
Die Liste sollte Erweiterbar sein!!!

Lösungen:

vote_ok
von Kotgreifer (660 Punkte) - 06.05.2019 um 15:45 Uhr
Quellcode ausblenden C#-Code
<Window x:Class="Geldrechner.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:Geldrechner"
        mc:Ignorable="d"
        Title="MainWindow" Height="176.362" Width="446.693">
    <Grid>
        <TextBox x:Name="textBox" PreviewTextInput="Begrenzer" HorizontalAlignment="Left" Height="23" Margin="23,22,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="120" />
        <TextBox x:Name="txtBlockErg" IsReadOnly="True" HorizontalAlignment="Left" Height="23" Margin="288,22,0,0" TextWrapping="Wrap"  VerticalAlignment="Top" Width="120"/>
        <Button x:Name="btn_switch" Content="--->
<---" HorizontalAlignment="Left" Margin="181,22,0,0" VerticalAlignment="Top" Width="75" Click="switch_Click"/>
        <Button x:Name="btn_submit" Content="Submit" HorizontalAlignment="Left" Margin="144,87,0,0" VerticalAlignment="Top" Width="144" Click="submit_Click"/>

        <ComboBox x:Name="comboBox" HorizontalAlignment="Left" Margin="23,50,0,0" VerticalAlignment="Top" Width="120" SelectedIndex="0">
            <ComboBoxItem x:Name="Euro" Content="Euro" Tag="EUR"/>
            <ComboBoxItem x:Name="Usd" Content="US Dollar" Tag="USD"/>
            <ComboBoxItem x:Name="Yen" Content="Yen" Tag="JPY"/>
            <ComboBoxItem x:Name="Rupie" Content="Rupie" Tag="INR"/>
            <ComboBoxItem x:Name="Pfund" Content="Ind. Pfund" Tag="GBP"/>
            <ComboBoxItem x:Name="AUD" Content="Aust. Dollar" Tag="AUD"/>
            <ComboBoxItem x:Name="CNY" Content="Chin. Renminbi" Tag="CNY"/>
            <ComboBoxItem x:Name="CHF" Content="Schweizer Franken" Tag="CHF"/>
            <ComboBoxItem x:Name="Lira" Content="Türk. Lira" Tag="TRY"/>
            <ComboBoxItem x:Name="DKK" Content="Dänische Krone" Tag="DKK"/>
            <ComboBoxItem x:Name="CAD" Content="Kanad. Dollar" Tag="CAD"/>
            <ComboBoxItem x:Name="CZK" Content="Tschech. Krone" Tag="CZK"/>
            <ComboBoxItem x:Name="RUB" Content="Russischer Rubel" Tag="RUB"/>
            <ComboBoxItem x:Name="PLN" Content="Zloty" Tag="PLN"/>
            <ComboBoxItem x:Name="ZAR" Content="Rand" Tag="ZAR"/>
            

        </ComboBox>

        <ComboBox x:Name="comboBox1" HorizontalAlignment="Left" Margin="288,50,0,0" VerticalAlignment="Top" Width="120" SelectedIndex="1">
            <ComboBoxItem x:Name="Euro2" Content="Euro" Tag="EUR"/>
            <ComboBoxItem x:Name="Usd2" Content="US Dollar" Tag="USD"/>
            <ComboBoxItem x:Name="Yen2" Content="Yen" Tag="JPY"/>
            <ComboBoxItem x:Name="Rupie2" Content="Rupie" Tag="INR"/>
            <ComboBoxItem x:Name="Pfund2" Content="Ind. Pfund" Tag="GBP"/>
            <ComboBoxItem x:Name="AUD2" Content="Aust. Dollar" Tag="AUD"/>
            <ComboBoxItem x:Name="CNY2" Content="Chin. Renminbi" Tag="CNY"/>
            <ComboBoxItem x:Name="CHF2" Content="Schweizer Franken" Tag="CHF"/>
            <ComboBoxItem x:Name="Lira2" Content="Türk. Lira" Tag="TRY"/>
            <ComboBoxItem x:Name="DKK2" Content="Dänische Krone" Tag="DKK"/>
            <ComboBoxItem x:Name="CAD2" Content="Kanad. Dollar" Tag="CAD"/>
            <ComboBoxItem x:Name="CZK2" Content="Tschech. Krone" Tag="CZK"/>
            <ComboBoxItem x:Name="RUB2" Content="Russischer Rubel" Tag="RUB"/>
            <ComboBoxItem x:Name="PLN2" Content="Zloty" Tag="PLN"/>
            <ComboBoxItem x:Name="ZAR2" Content="Rand" Tag="ZAR"/>
        </ComboBox>

    </Grid>
</Window> 




Quellcode ausblenden C#-Code
using System.Text.RegularExpressions;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Net;

namespace Geldrechner
{

    public partial class MainWindow : Window
    {

        private const string urlPattern = "http://rate-exchange-1.appspot.com/currency?from={0}&to={1}";


        public MainWindow()
        {
            InitializeComponent();
        }

        private void Begrenzer(object sender, TextCompositionEventArgs e)
        {
            Regex regex = new Regex("[^0-9]");
            e.Handled = regex.IsMatch(e.Text);
        }

        private void submit_Click(object sender, RoutedEventArgs e)
        {
            int amount;
            int.TryParse(textBox.Text, out amount);

            ComboBoxItem c1 = (ComboBoxItem) comboBox.SelectedItem;
            string currency1 = (string) c1.Tag;


            ComboBoxItem c2 = (ComboBoxItem)comboBox1.SelectedItem;
            string currency2 = (string)c2.Tag;


            string erg= CurrencyConversion(amount, currency1, currency2);

            txtBlockErg.Text = erg;


         }



        public string CurrencyConversion(int amount, string fromCurrency, string toCurrency)
        {
            string url = string.Format(urlPattern, fromCurrency, toCurrency);

            using (var wc = new WebClient())
            {
                var json = wc.DownloadString(url);

                Newtonsoft.Json.Linq.JToken token = Newtonsoft.Json.Linq.JObject.Parse(json);
                decimal exchangeRate = (decimal)token.SelectToken("rate");

                return (amount * exchangeRate).ToString();
            }
        }

        private void switch_Click(object sender, RoutedEventArgs e)
        {
            int tmp = comboBox.SelectedIndex;
            comboBox.SelectedIndex = comboBox1.SelectedIndex;
            comboBox1.SelectedIndex = tmp;
        }
    }
}

vote_ok
von Fabian (50 Punkte) - 28.05.2019 um 09:44 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Weahrungsumrechner
{
    public partial class Währungsrechner : Form
    {
        public static double kurs;

        public Währungsrechner()
        {
            InitializeComponent();

            fill_cb_start();
            fill_cb_ziel();
        }

        public enum Waehrungen
        {
            Euro, Pfund, Dollar
        }

        private void fill_cb_start()
        {           
            cb_start.Items.AddRange(Enum.GetNames(typeof(Waehrungen)));
        }
        private void fill_cb_ziel()
        {            
            cb_ziel.Items.AddRange(Enum.GetNames(typeof(Waehrungen)));
        }

        private void btn_start_click(object sender, EventArgs e)
        {                
            try
            {
                var wertEingabe = Convert.ToDouble(tb_wert.Text);

                if (wertEingabe > 0)
                {
                    Berechnung(wertEingabe);
                }
                else
                {
                    DialogResult result = MessageBox.Show("Bitte gültigen Betrag eingeben (>0)", "Achtung", MessageBoxButtons.OK);
                    if (result == DialogResult.OK)
                    {
                        return;
                    }
                }
            }
            catch
            {
                DialogResult result = MessageBox.Show("Eingabe muss eine gültige Zahl sein.", "Achtung", MessageBoxButtons.OK);
                if (result == DialogResult.OK)
                {
                    return;
                }
            }
        }        

        private void Berechnung(double wertEingabe)
        {
            if (cb_start.SelectedIndex == -1 || cb_ziel.SelectedIndex == -1)
            {
                DialogResult result = MessageBox.Show("Bitte eine Währung wählen.", "Achtung", MessageBoxButtons.OK);
                if (result == DialogResult.OK)
                {
                    return;
                }
            }
            else
            {
                double ergebnis;

                if (cb_start.SelectedIndex == cb_ziel.SelectedIndex)
                {
                    DialogResult result = MessageBox.Show("Auswahl nicht sinnig.", "Achtung", MessageBoxButtons.OK);
                    if (result == DialogResult.OK)
                    {
                        return;
                    }
                }

                //Euro

                else if (cb_start.SelectedIndex == 0)
                {
                    if (cb_ziel.SelectedIndex == 1)
                    {
                        kurs = 0.8834;
                    }
                    if (cb_ziel.SelectedIndex == 2)
                    {
                        kurs = 1.1195;
                    }
                }


                //Pfund

                else if (cb_start.SelectedIndex == 1)
                {
                    if (cb_ziel.SelectedIndex == 0)
                    {
                        kurs = 1.1323;
                    }
                    if (cb_ziel.SelectedIndex == 2)
                    {
                        kurs = 1.2663;
                    }
                }

                //Dollar

                else if (cb_start.SelectedIndex == 2)
                {
                    if (cb_ziel.SelectedIndex == 0)
                    {
                        kurs = 0.8931;
                    }
                    if (cb_ziel.SelectedIndex == 1)
                    {
                        kurs = 0.7897;
                    }
                }

                ergebnis = wertEingabe * kurs;

                DialogResult resultErgebnis = MessageBox.Show("Ergebnis: " + ergebnis, "Umrechnung", MessageBoxButtons.OK);
                if (resultErgebnis == DialogResult.OK)
                {
                    return;
                }
            }
        }
    }
}
1 Kommentar
vote_ok
von bebbe80 (300 Punkte) - 23.06.2019 um 22:07 Uhr
Quellcode ausblenden C#-Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Traine
{
    class Program
    {
        
        static void Main(string[] args)
        {        
            List<string> waehrungen = new List<string>();

            waehrungen.Add("1 Euro");
            waehrungen.Add("2 US-Dollar");
            waehrungen.Add("3 Pfund Sterling ");
            waehrungen.Add("4 Dänische Krone");
            waehrungen.Add("5 Yen");
            waehrungen.Add("6 Rupie");
            waehrungen.Add("7 Neue Lira");

            Console.WriteLine("Wählen sie die Währung welche umgrechnet werden soll");            
            Console.WriteLine("Weiter mit Enter");
            Console.ReadLine();

            Console.WriteLine("Geben sie bitte die entsprechende Zahl ein");
            foreach (string waehrung in waehrungen)
            {
                Console.WriteLine(waehrung);
                
            }
            int waehrungEingabe = int.Parse(Console.ReadLine());        
            
            Console.WriteLine("Wählen sie die Währung in die umgrechnet werden soll");                  
            Console.WriteLine("Weiter mit Enter");
            Console.ReadLine();

            Console.WriteLine("Geben sie bitte die entsprechende Zahl ein");           
            foreach (string waehrung in waehrungen)
            {
                Console.WriteLine(waehrung);

            }
            int waehrungsausgabe = int.Parse(Console.ReadLine());
            Console.WriteLine("Weiter mit Enter");
            Console.ReadLine();

            Console.WriteLine("Geben sie nun den Betrag ein der umgerechnet werden soll");
            double betrag = double.Parse(Console.ReadLine());

            DateTime localDate = DateTime.Now;

            if (waehrungEingabe == 1 && waehrungsausgabe == 2)
            {
                double umgerechnet = betrag * 1.13677;
                Console.WriteLine(betrag + " Euro =  " + umgerechnet + " Dollar" );
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 1 && waehrungsausgabe == 3)
            {
                double umgerechnet = betrag * 0.89135;
                Console.WriteLine(betrag + " Euro =  " + umgerechnet + " Pfund");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 1 && waehrungsausgabe == 4)
            {
                double umgerechnet = betrag * 7.46464;
                Console.WriteLine(betrag + " Euro =  " + umgerechnet + " Kronen");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 1 && waehrungsausgabe == 5)
            {
                double umgerechnet = betrag * 121.96;
                Console.WriteLine(betrag + " Euro =  " + umgerechnet + " Yen");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 1 && waehrungsausgabe == 6)
            {
                double umgerechnet = betrag * 78.9328;
                Console.WriteLine(betrag + " Euro =  " + umgerechnet + " Rupien");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 1 && waehrungsausgabe == 7)
            {
                double umgerechnet = betrag * 6.59737;
                Console.WriteLine(betrag + " Euro =  " + umgerechnet + " Lira");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 2 && waehrungsausgabe == 1)
            {
                double umgerechnet = betrag * 0.87947;
                Console.WriteLine(betrag + "Dollar  =  " + umgerechnet + "Euro ");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 2 && waehrungsausgabe == 3)
            {
                double umgerechnet = betrag * 0.78419;
                Console.WriteLine(betrag + " Dollar =  " + umgerechnet + " Pfund");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 2 && waehrungsausgabe == 4)
            {
                double umgerechnet = betrag * 6.56629;
                Console.WriteLine(betrag + " Dollar =  " + umgerechnet + " Kronen");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 2 && waehrungsausgabe == 5)
            {
                double umgerechnet = betrag * 107.30;
                Console.WriteLine(betrag + " Dollar =  " + umgerechnet + " Yen");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 2 && waehrungsausgabe == 6)
            {
                double umgerechnet = betrag * 69.4360;
                Console.WriteLine(betrag + " Dollar =  " + umgerechnet + " Rupien");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 2 && waehrungsausgabe == 7)
            {
                double umgerechnet = betrag * 5.80361;
                Console.WriteLine(betrag + " Dollar =  " + umgerechnet + " Lira");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 3 && waehrungsausgabe == 1)
            {
                double umgerechnet = betrag * 1.12001;
                Console.WriteLine(betrag + " Pfund Sterling =  " + umgerechnet + " Euro");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 3 && waehrungsausgabe == 2)
            {
                double umgerechnet = betrag * 1.27370;
                Console.WriteLine(betrag + " Pfund Sterling =  " + umgerechnet + " Dollar");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 3 && waehrungsausgabe == 4)
            {
                double umgerechnet = betrag * 8.36348;
                Console.WriteLine(betrag + " Pfund Sterling =  " + umgerechnet + " Kronen");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 3 && waehrungsausgabe == 5)
            {
                double umgerechnet = betrag * 136.70;
                Console.WriteLine(betrag + " Pfund Sterling =  " + umgerechnet + " Yen");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 3 && waehrungsausgabe == 6)
            {
                double umgerechnet = betrag * 88.4406;
                Console.WriteLine(betrag + " Pfund Sterling =  " + umgerechnet + " Rupien");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 3 && waehrungsausgabe == 7)
            {
                double umgerechnet = betrag * 7.39206;
                Console.WriteLine(betrag + " Pfund Sterling =  " + umgerechnet + " Lira");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 4 && waehrungsausgabe == 1)
            {
                double umgerechnet = betrag * 0.13390;
                Console.WriteLine(betrag + " Dänische Kronen =  " + umgerechnet + " Euro");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 4 && waehrungsausgabe == 2)
            {
                double umgerechnet = betrag * 015224;
                Console.WriteLine(betrag + " Dänische Kronen =  " + umgerechnet + " Dollar");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 4 && waehrungsausgabe == 3)
            {
                double umgerechnet = betrag * 0.11939;
                Console.WriteLine(betrag + " Dänische Kronen =  " + umgerechnet + " Pfund");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 4 && waehrungsausgabe == 5)
            {
                double umgerechnet = betrag * 16.34;
                Console.WriteLine(betrag + " Dänische Kronen =  " + umgerechnet + " Yen");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 4 && waehrungsausgabe == 6)
            {
                double umgerechnet = betrag * 10.5712;
                Console.WriteLine(betrag + " Dänische Kronen =  " + umgerechnet + " Rupien");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 4 && waehrungsausgabe == 7)
            {
                double umgerechnet = betrag * 0.88356;
                Console.WriteLine(betrag + " Dänische Kronen =  " + umgerechnet + " Lira");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 5 && waehrungsausgabe == 1)
            {
                double umgerechnet = betrag * 0.00819;
                Console.WriteLine(betrag + " Yen =  " + umgerechnet + " Euro");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 5 && waehrungsausgabe == 2)
            {
                double umgerechnet = betrag * 0.00932;
                Console.WriteLine(betrag + " Yen =  " + umgerechnet + " Dollar");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 5 && waehrungsausgabe == 3)
            {
                double umgerechnet = betrag * 0.00731;
                Console.WriteLine(betrag + " Yen =  " + umgerechnet + " Pfund");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 5 && waehrungsausgabe == 4)
            {
                double umgerechnet = betrag * 0.06117;
                Console.WriteLine(betrag + " Yen =  " + umgerechnet + " Kronen");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 5 && waehrungsausgabe == 6)
            {
                double umgerechnet = betrag * 0.64684;
                Console.WriteLine(betrag + " Yen =  " + umgerechnet + " Rupien");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 5 && waehrungsausgabe == 7)
            {
                double umgerechnet = betrag * 0.05406;
                Console.WriteLine(betrag + " Yen =  " + umgerechnet + " Lira");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 6 && waehrungsausgabe == 1)
            {
                double umgerechnet = betrag * 0.01262;
                Console.WriteLine(betrag + " ´Rupien =  " + umgerechnet + " Euro");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 6 && waehrungsausgabe == 2)
            {
                double umgerechnet = betrag * 0.01435;
                Console.WriteLine(betrag + " Rupien =  " + umgerechnet + " Dollar");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 6 && waehrungsausgabe == 3)
            {
                double umgerechnet = betrag * 0.01125;
                Console.WriteLine(betrag + " Rupien =  " + umgerechnet + " Pfund");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 6 && waehrungsausgabe == 4)
            {
                double umgerechnet = betrag * 0.09423;
                Console.WriteLine(betrag + " Rupien =  " + umgerechnet + " Kronen");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 6 && waehrungsausgabe == 5)
            {
                double umgerechnet = betrag * 1.54;
                Console.WriteLine(betrag + " Rupien =  " + umgerechnet + " Yen");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 6 && waehrungsausgabe == 7)
            {
                double umgerechnet = betrag * 0.08328;
                Console.WriteLine(betrag + " Rupien =  " + umgerechnet + " Lira");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 7 && waehrungsausgabe == 1)
            {
                double umgerechnet = betrag * 0.15063;
                Console.WriteLine(betrag + " Lira =  " + umgerechnet + " Euro");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 7 && waehrungsausgabe == 2)
            {
                double umgerechnet = betrag * 0.17127;
                Console.WriteLine(betrag + " Lira =  " + umgerechnet + " Dollar");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 7 && waehrungsausgabe == 3)
            {
                double umgerechnet = betrag * 0.13431;
                Console.WriteLine(betrag + " Lira =  " + umgerechnet + " Pfund");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 7 && waehrungsausgabe == 4)
            {
                double umgerechnet = betrag * 1.12462;
                Console.WriteLine(betrag + " Lira =  " + umgerechnet + " Kronen");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 7 && waehrungsausgabe == 5)
            {
                double umgerechnet = betrag * 18.38;
                Console.WriteLine(betrag + " Lira =  " + umgerechnet + " Yen");
                Console.WriteLine(localDate);
            }
            else if (waehrungEingabe == 7 && waehrungsausgabe == 6)
            {
                double umgerechnet = betrag * 11.8925;
                Console.WriteLine(betrag + " Lira =  " + umgerechnet + " Rupien");
                Console.WriteLine(localDate);
            }
            else
            {
                Console.WriteLine("Falsche Eingabe, Programm Ende");
            }
            Console.ReadLine();




        }
    }
}