1. //
  2. // Waehrungsumrechner GIT-Praktikum 1
  3. //
  4. // v1.1
  5. // Umrechnungen von Fremdwaehrung in Fremdwaehrung moeglich
  6. // Schleife fuer mehrere Durchlaeufe eingebaut
  7. //
  8. // todo: Vereinfachung der Berechnung und Ausgabe,
  9. // Lesbarkeit, Formatierung
  10. //
  11. //
  12.  
  13.  
  14. #include <cstdlib>
  15. #include <iostream>
  16.  
  17. using namespace std;
  18.  
  19. int main(void)
  20. {
  21.  
  22. //Deklaration der Variabeln
  23.  
  24. double dBetrag;
  25. double dBetragNeu;
  26.  
  27. int iWaehrungBasis;
  28. int iWaehrungFremd;
  29.  
  30. // int iAuswahl = 0;
  31. char cAuswahl = 'j';
  32.  
  33. string sERROR = ("\nEin Fehler ist aufgetreten");
  34.  
  35. //Wechselkurse
  36.  
  37. double dEurUsd = 1.3406;
  38. double dEurGbp = 0.8514;
  39. double dEurChf = 1.2968;
  40.  
  41. double dUsdEur = 1/1.4524;
  42. double dGbpEur = 1/0.9224;
  43. double dChfEur = 1/1.4048;
  44.  
  45. //Programmbeginn
  46.  
  47. do
  48. {
  49.  
  50. cout << ("\nDies ist ein Waehrungsumrechner. \n");
  51. cout << ("--------------------------------");
  52. cout << ("\n\n");
  53.  
  54. system("PAUSE");
  55. system("CLS");
  56.  
  57. cout << ("\nBitte geben sie ihre Ausgangswaehrung an. \n");
  58. cout << ("\n1 = EUR\n2 = USD\n3 = GBP\n4 = CHF\n");
  59. cin >> iWaehrungBasis;
  60.  
  61. cout << ("\nBitte geben sie den umzurechnenden Betrag ein.\n");
  62. cin >> dBetrag;
  63.  
  64. cout << ("\nBitte geben sie die Waehrung an in die umgerechnet werden soll:\n\n1 = EUR\n2 = USD\n3 = GBP\n4 = CHF\n");
  65. cin >> iWaehrungFremd;
  66.  
  67. //Umrechnung von EUR in Fremdwaehrungen
  68.  
  69. if (iWaehrungBasis == 1){
  70. if (iWaehrungFremd == 2){ //Umrechnung in USD
  71. dBetragNeu = dBetrag * dEurUsd;
  72. cout << ("\n")<<dBetrag<<(" EUR entsprechen ")<<dBetragNeu<<(" USD.");
  73. cout << ("\n1 EUR = ")<<dEurUsd<<(" USD.\n");
  74. }
  75. else if (iWaehrungFremd == 3){ //Umrechnung in GBP
  76. dBetragNeu = dBetrag * dEurGbp;
  77. cout << ("\n")<<dBetrag<<(" EUR entsprechen ")<<dBetragNeu<<(" GBP.");
  78. cout << ("\n1 EUR = ")<<dEurGbp<<(" GBP.\n");
  79. }
  80. else if (iWaehrungFremd == 4){ //Umrechnung in CHF
  81. dBetragNeu = dBetrag * dEurChf;
  82. cout << ("\n")<<dBetrag<<(" EUR entsprechen ")<<dBetragNeu<<(" CHF.");
  83. cout << ("\n1 EUR = ")<<dEurChf<<(" CHF.\n");
  84. }
  85. else if (iWaehrungFremd = iWaehrungBasis){
  86. cout << sERROR;
  87. }
  88. }
  89.  
  90. //Umrechnung von Fremdwaehrungen in EUR und Fremdwaehrungen
  91.  
  92. if (iWaehrungBasis == 2){
  93. if (iWaehrungFremd == 1) {
  94. dBetragNeu = dBetrag * dUsdEur; //Umrechnung von USD in EUR
  95. cout << ("\n")<<dBetrag<<(" USD entsprechen ")<<dBetragNeu<<(" EUR.");
  96. }
  97. else if (iWaehrungFremd == 3) {
  98. dBetragNeu = dBetrag * dUsdEur * dEurGbp; //Umrechnung von USD in GBP
  99. cout << ("\n")<<dBetrag<<(" USD entsprechen ")<<dBetragNeu<<(" GBP.");
  100. cout << ("\n1 USD = ")<<dUsdEur<<(" EUR.");
  101. cout << ("\n1 EUR = ")<<dEurGbp<<(" GBP.");
  102. }
  103. else if (iWaehrungFremd == 4) {
  104. dBetragNeu = dBetrag * dUsdEur * dEurChf; //Umrechnung von USD in CHF
  105. cout << ("\n")<<dBetrag<<(" USD entsprechen ")<<dBetragNeu<<(" CHF.");
  106. cout << ("\n1 USD = ")<<dUsdEur<<(" EUR.");
  107. cout << ("\n1 EUR = ")<<dEurChf<<(" CHF.");
  108. }
  109. if (iWaehrungFremd == iWaehrungBasis){
  110. cout <<sERROR;
  111. }
  112. }
  113.  
  114.  
  115. if (iWaehrungBasis == 3) {
  116. if (iWaehrungFremd == 1) {
  117. dBetragNeu = dBetrag * dGbpEur; //Umrechnung von GBP in EUR
  118. cout << ("\n")<<dBetrag<<(" GBP entsprechen ")<<dBetragNeu<<(" EUR.");
  119. }
  120. else if (iWaehrungFremd == 2) {
  121. dBetragNeu = dBetrag * dGbpEur * dEurUsd; //Umrechnung von GBP in USD
  122. cout << ("\n")<<dBetrag<<(" GBP entsprechen ")<<dBetragNeu<<(" USD.");
  123. cout << ("\n1 GBP = ")<<dUsdEur<<(" EUR.");
  124. cout << ("\n1 EUR = ")<<dEurUsd<<(" USD.\n");
  125. }
  126. else if (iWaehrungFremd == 4) {
  127. dBetragNeu = dBetrag * dGbpEur * dEurChf; //Umrechnung von GBP in CHF
  128. cout << ("\n")<<dBetrag<<(" GBP entsprechen ")<<dBetragNeu<<(" CHF.");
  129. cout << ("\n1 GBP = ")<<dUsdEur<<(" EUR.");
  130. cout << ("\n1 EUR = ")<<dEurChf<<(" CHF.\n");
  131. }
  132. if (iWaehrungFremd == iWaehrungBasis){
  133. cout <<sERROR;
  134. }
  135. }
  136.  
  137. if (iWaehrungBasis == 4) {
  138. if (iWaehrungFremd == 1) {
  139. dBetragNeu = dBetrag * dChfEur; //Umrechnung von CHF in EUR
  140. cout << ("\n")<<dBetrag<<(" CHF entsprechen ")<<dBetragNeu<<(" EUR.");
  141. }
  142. else if (iWaehrungFremd == 2) {
  143. dBetragNeu = dBetrag * dChfEur * dEurUsd; //Umrechnung von CHF in USD
  144. cout << ("\n")<<dBetrag<<(" CHF entsprechen ")<<dBetragNeu<<(" USD.");
  145. cout << ("\n1 CHF = ")<<dUsdEur<<(" EUR.");
  146. cout << ("\n1 EUR = ")<<dEurUsd<<(" USD.\n");
  147. }
  148. else if (iWaehrungFremd == 3) {
  149. dBetragNeu = dBetrag * dChfEur * dEurGbp; //Umrechnung von CHF in GBP
  150. cout << ("\n")<<dBetrag<<(" CHF entsprechen ")<<dBetragNeu<<(" GBP.");
  151. cout << ("\n1 CHF = ")<<dUsdEur<<(" EUR.");
  152. cout << ("\n1 EUR = ")<<dEurGbp<<(" GBP.\n");
  153. }
  154. if (iWaehrungFremd == iWaehrungBasis){
  155. cout <<sERROR;
  156. }
  157. }
  158.  
  159.  
  160. cout <<("\nWollen sie eine weitere Umrechnung durchfuehren? \nj/n \n");
  161. cin >>("%c", &cAuswahl);
  162. }
  163. while (cAuswahl == 'j');
  164.  
  165.  
  166. system("PAUSE");
  167. return EXIT_SUCCESS;
  168. }
  169.