//
// Waehrungsumrechner GIT-Praktikum 1
//
// v1.1
// Umrechnungen von Fremdwaehrung in Fremdwaehrung moeglich
// Schleife fuer mehrere Durchlaeufe eingebaut
//
// todo: Vereinfachung der Berechnung und Ausgabe,
// Lesbarkeit, Formatierung
//
//
#include <cstdlib>
#include <iostream>
using namespace std;
int main(void)
{
//Deklaration der Variabeln
double dBetrag;
double dBetragNeu;
int iWaehrungBasis;
int iWaehrungFremd;
// int iAuswahl = 0;
char cAuswahl = 'j';
string sERROR = ("\nEin Fehler ist aufgetreten");
//Wechselkurse
double dEurUsd = 1.3406;
double dEurGbp = 0.8514;
double dEurChf = 1.2968;
double dUsdEur = 1/1.4524;
double dGbpEur = 1/0.9224;
double dChfEur = 1/1.4048;
//Programmbeginn
do
{
cout << ("\nDies ist ein Waehrungsumrechner. \n");
cout << ("--------------------------------");
cout << ("\n\n");
system("PAUSE");
system("CLS");
cout << ("\nBitte geben sie ihre Ausgangswaehrung an. \n");
cout << ("\n1 = EUR\n2 = USD\n3 = GBP\n4 = CHF\n");
cin >> iWaehrungBasis;
cout << ("\nBitte geben sie den umzurechnenden Betrag ein.\n");
cin >> dBetrag;
cout << ("\nBitte geben sie die Waehrung an in die umgerechnet werden soll:\n\n1 = EUR\n2 = USD\n3 = GBP\n4 = CHF\n");
cin >> iWaehrungFremd;
//Umrechnung von EUR in Fremdwaehrungen
if (iWaehrungBasis == 1){
if (iWaehrungFremd == 2){ //Umrechnung in USD
dBetragNeu = dBetrag * dEurUsd;
cout << ("\n")<<dBetrag<<(" EUR entsprechen ")<<dBetragNeu<<(" USD.");
cout << ("\n1 EUR = ")<<dEurUsd<<(" USD.\n");
}
else if (iWaehrungFremd == 3){ //Umrechnung in GBP
dBetragNeu = dBetrag * dEurGbp;
cout << ("\n")<<dBetrag<<(" EUR entsprechen ")<<dBetragNeu<<(" GBP.");
cout << ("\n1 EUR = ")<<dEurGbp<<(" GBP.\n");
}
else if (iWaehrungFremd == 4){ //Umrechnung in CHF
dBetragNeu = dBetrag * dEurChf;
cout << ("\n")<<dBetrag<<(" EUR entsprechen ")<<dBetragNeu<<(" CHF.");
cout << ("\n1 EUR = ")<<dEurChf<<(" CHF.\n");
}
else if (iWaehrungFremd = iWaehrungBasis){
cout << sERROR;
}
}
//Umrechnung von Fremdwaehrungen in EUR und Fremdwaehrungen
if (iWaehrungBasis == 2){
if (iWaehrungFremd == 1) {
dBetragNeu = dBetrag * dUsdEur; //Umrechnung von USD in EUR
cout << ("\n")<<dBetrag<<(" USD entsprechen ")<<dBetragNeu<<(" EUR.");
}
else if (iWaehrungFremd == 3) {
dBetragNeu = dBetrag * dUsdEur * dEurGbp; //Umrechnung von USD in GBP
cout << ("\n")<<dBetrag<<(" USD entsprechen ")<<dBetragNeu<<(" GBP.");
cout << ("\n1 USD = ")<<dUsdEur<<(" EUR.");
cout << ("\n1 EUR = ")<<dEurGbp<<(" GBP.");
}
else if (iWaehrungFremd == 4) {
dBetragNeu = dBetrag * dUsdEur * dEurChf; //Umrechnung von USD in CHF
cout << ("\n")<<dBetrag<<(" USD entsprechen ")<<dBetragNeu<<(" CHF.");
cout << ("\n1 USD = ")<<dUsdEur<<(" EUR.");
cout << ("\n1 EUR = ")<<dEurChf<<(" CHF.");
}
if (iWaehrungFremd == iWaehrungBasis){
cout <<sERROR;
}
}
if (iWaehrungBasis == 3) {
if (iWaehrungFremd == 1) {
dBetragNeu = dBetrag * dGbpEur; //Umrechnung von GBP in EUR
cout << ("\n")<<dBetrag<<(" GBP entsprechen ")<<dBetragNeu<<(" EUR.");
}
else if (iWaehrungFremd == 2) {
dBetragNeu = dBetrag * dGbpEur * dEurUsd; //Umrechnung von GBP in USD
cout << ("\n")<<dBetrag<<(" GBP entsprechen ")<<dBetragNeu<<(" USD.");
cout << ("\n1 GBP = ")<<dUsdEur<<(" EUR.");
cout << ("\n1 EUR = ")<<dEurUsd<<(" USD.\n");
}
else if (iWaehrungFremd == 4) {
dBetragNeu = dBetrag * dGbpEur * dEurChf; //Umrechnung von GBP in CHF
cout << ("\n")<<dBetrag<<(" GBP entsprechen ")<<dBetragNeu<<(" CHF.");
cout << ("\n1 GBP = ")<<dUsdEur<<(" EUR.");
cout << ("\n1 EUR = ")<<dEurChf<<(" CHF.\n");
}
if (iWaehrungFremd == iWaehrungBasis){
cout <<sERROR;
}
}
if (iWaehrungBasis == 4) {
if (iWaehrungFremd == 1) {
dBetragNeu = dBetrag * dChfEur; //Umrechnung von CHF in EUR
cout << ("\n")<<dBetrag<<(" CHF entsprechen ")<<dBetragNeu<<(" EUR.");
}
else if (iWaehrungFremd == 2) {
dBetragNeu = dBetrag * dChfEur * dEurUsd; //Umrechnung von CHF in USD
cout << ("\n")<<dBetrag<<(" CHF entsprechen ")<<dBetragNeu<<(" USD.");
cout << ("\n1 CHF = ")<<dUsdEur<<(" EUR.");
cout << ("\n1 EUR = ")<<dEurUsd<<(" USD.\n");
}
else if (iWaehrungFremd == 3) {
dBetragNeu = dBetrag * dChfEur * dEurGbp; //Umrechnung von CHF in GBP
cout << ("\n")<<dBetrag<<(" CHF entsprechen ")<<dBetragNeu<<(" GBP.");
cout << ("\n1 CHF = ")<<dUsdEur<<(" EUR.");
cout << ("\n1 EUR = ")<<dEurGbp<<(" GBP.\n");
}
if (iWaehrungFremd == iWaehrungBasis){
cout <<sERROR;
}
}
cout <<("\nWollen sie eine weitere Umrechnung durchfuehren? \nj/n \n");
cin >>("%c", &cAuswahl);
}
while (cAuswahl == 'j');
system("PAUSE");
return EXIT_SUCCESS;
}