88 lines
2.5 KiB
C#
88 lines
2.5 KiB
C#
using System;
|
|
using System.Windows;
|
|
using System.Windows.Controls;
|
|
|
|
namespace EuroToDollarConverter
|
|
{
|
|
public partial class MainWindow : Window
|
|
{
|
|
public MainWindow()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
|
|
private void Convert_Click(object sender, RoutedEventArgs e)
|
|
{
|
|
// Eingabe lesen
|
|
string eingabe = euroBox.Text;
|
|
bool Nummer = true;
|
|
|
|
// Wir prüfen zuerst ob die Eingabe nur Zahlen und maximal ein Komma enthält
|
|
foreach (char c in eingabe)
|
|
{
|
|
if ((c < '0' || c > '9') && c != ',')
|
|
{
|
|
Nummer = false;
|
|
break;
|
|
}
|
|
|
|
}
|
|
|
|
if (eingabe == "")
|
|
{
|
|
MessageBox.Show("Bitte gib einen Betrag ein.");
|
|
return;
|
|
}
|
|
// Wenn falsche Zeichen enthalten sind zeigen wir eine Fehlermeldung an und brechen ab
|
|
if (!Nummer)
|
|
{
|
|
MessageBox.Show("Nur Ziffern und maximal ein Komma erlaubt!");
|
|
return;
|
|
}
|
|
|
|
double euro = Convert.ToDouble(eingabe);
|
|
double rate = 1;
|
|
|
|
// Die ausgewählte Währung aus der ComboBox holen
|
|
ComboBoxItem Item = currencyBox.SelectedItem as ComboBoxItem;
|
|
|
|
if (Item == null)
|
|
{
|
|
MessageBox.Show("Bitte wählen Sie eine Währung aus.");
|
|
return;
|
|
}
|
|
|
|
// Den angezeigten Text der Währung auslesen
|
|
string Währung = (string)Item.Content;
|
|
|
|
// Je nach Währung den passenden Umrechnungskurs setzen
|
|
switch (Währung)
|
|
{
|
|
case "Dollar $": rate = 1.10;
|
|
break;
|
|
|
|
case "Pfund £": rate = 0.85;
|
|
break;
|
|
|
|
case "Yen ¥": rate = 160.50;
|
|
break;
|
|
|
|
case "Lira ₺": rate = 35;
|
|
break;
|
|
|
|
case "Dirham د. إ ": rate = 10;
|
|
break;
|
|
|
|
default: MessageBox.Show("Unbekannte Währung ausgewählt.");
|
|
return;
|
|
}
|
|
|
|
// Eurobetrag mit dem Wechselkurs multiplizieren
|
|
double result = euro * rate;
|
|
|
|
// Ergebnis mit 2 Nachkommastellen anzeigen
|
|
dollarBox.Text = $"{result:F2}";
|
|
}
|
|
}
|
|
}
|