Advertisement
simonradev

CurrencyConverterDictionary

May 3rd, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.61 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Globalization;
  7.  
  8. namespace _1000DaysAfterBirth
  9. {
  10.     class Program
  11.     {
  12.         static void Main()
  13.         {
  14.             //четенето от конзолата предполагам е ясно
  15.             double amountOfMoney = double.Parse(Console.ReadLine());
  16.             string fromCurrency = Console.ReadLine();
  17.             string toCurrency = Console.ReadLine();
  18.  
  19.             //това се нарича асоциативен масив което означава че държи двойки нареченеи Ключ/Стойност - KeyValuePair<string, int>
  20.             //в триъгълните скоби слагам какъв тип данни искам да е ключа и след това какъв тип данни искам да е стойоността
  21.             //след това със специален синтаксис създавам такива двойки и когато поискам ключ то ми връща стойност
  22.             Dictionary<string, double> currencyValues = new Dictionary<string, double>
  23.             {
  24.                 ["BGN"] = 1.0,
  25.                 ["USD"] = 1.79549,
  26.                 ["EUR"] = 1.95583,
  27.                 ["GBP"] = 2.53405,
  28.             };
  29.  
  30.             //това е математическа формула която работи като взема стойноста на валутата ОТ която искам да преобразувам
  31.             // разделям я със стойността на валутата В която искам да преобразувам и умножавам по парите които искат
  32.             // да преобразувам
  33.             //въпроса е как дейста и отговорът е че понеже си имам дефинирани ключове и стойности мога като
  34.             // извикам асоциативиния масив по име и му подам ключа то а ми върне стойността срещу нея
  35.             // ако "fromCurrency = "BGN"" а "toCurrency = "EUR"" a "amountOfMoney = 100" израза ще е замести
  36.             // и ще се изчисли по следния начин
  37.             // double result = 1.0 / 1.95583 * 100;
  38.             double result = (currencyValues[fromCurrency] / currencyValues[toCurrency]) * amountOfMoney;
  39.  
  40.             Console.WriteLine($"{result:f2} {toCurrency}");
  41.         }
  42.     }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement