public static void Main()
    {
        CurrencyConversion calculator = new CurrencyConversion();

        Dictionary <string, decimal> exchangeRates = calculator.getExchangeRates();


        Console.WriteLine("What is the currency you are exchanging from? (? -> USD). Enter 'list' to display list of currencies.");
        string currencyEntry = Console.ReadLine();

        while (!exchangeRates.ContainsKey(currencyEntry))
        {
            if (currencyEntry == "list")
            {
                Console.WriteLine("Available currencies: ");
                foreach (KeyValuePair <string, decimal> item in exchangeRates)
                {
                    Console.Write(item.Key + " ");
                }
            }
            else
            {
                Console.WriteLine("Please enter a valid currency.");
            }
            Console.WriteLine("What is the currency you are exchanging from? (? -> USD). Enter 'list' to display list of currencies.");
            currencyEntry = Console.ReadLine();
        }

        Console.WriteLine("How much " + currencyEntry + " are you exchanging?");
        string  moneyEntry = Console.ReadLine();
        decimal money;

        while (!decimal.TryParse(moneyEntry, out money) || money <= 0 || (Decimal.Round(money, 2) != money))
        {
            Console.WriteLine("Must be a valid amount of money greater than 0. Enter amount to exchange: ");
            moneyEntry = Console.ReadLine();
        }

        decimal rate = exchangeRates[currencyEntry];

        decimal exchangedMoney = calculator.exchange(money, rate);

        Console.WriteLine(money + " " + currencyEntry + " at an exchange rate of " + rate + " is " + exchangedMoney + " USD.");
    }