Loading...
TihomirBorisov avatar TihomirBorisov 6 Точки

Currency Converter

Здравейте колеги. Направих решение на валутен конвертор който работи. Проблемите са два :

1. Когато въведа големи букви за валутите, програмата се чупи.

2. Джъж не приема решението макар, че то работи.
Изписва ми това: 
Unhandled Exception: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary. at System.Collections.Generic.Dictionary`2.get_Item(TKey key) at Currency_Converter.Program.Main(String[] args)

Това е решението:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Currency_Converter
{
    class Program
    {
        static void Main(string[] args)
        {
            decimal moneyToConvert = decimal.Parse(Console.ReadLine());

            string firstCurrency = Console.ReadLine();
            string secondCurrency = Console.ReadLine();
  
            var currencies = new Dictionary<string, decimal>()
                                {
                                {"bgn" , 1},
                                {"usd", 1.79549m},
                                {"eur", 1.95583m},
                                {"gbp", 2.53405m},
            };

            decimal result = moneyToConvert * (currencies[firstCurrency] / currencies[secondCurrency]);

            Console.WriteLine("{0} {1}", Math.Round(result, 2), secondCurrency);
        }
    }
}
 

Тагове:
2
Programming Basics
StoyanVitanov avatar StoyanVitanov 11 Точки

         

Пробвай така:            

            string firstCurrency = Console.ReadLine().ToLower();
            string secondCurrency = Console.ReadLine().ToLower();

 

:)

1
TihomirBorisov avatar TihomirBorisov 6 Точки

Много благодаря. Проблемът се реши и джъдж- а прие решението. :)

0
StoyanVitanov avatar StoyanVitanov 11 Точки

Моля :) !

Иначе добре си се сетил за Dictionary-то, доста писане спестява точно в тази задача :)

0
05/01/2017 17:44:15
vancho avatar vancho 430 Точки

Трябва задължително валутите да им кажеш ToLower, защото ако ти подадът с главни букви, а ти търсиш с малки!

0
anton_mironov avatar anton_mironov 19 Точки

Здрасти колега,

Казал си на речника, че ключа ще е с малки букви... няма как да ти вземе големите. Използвай метода  ToLower()

така се застраховаш от всякакви входящи данни от потребителя... дори да ти въведе BgN, пак ще бачка..

За аутпута съответно използваш ToUpper()... ако не си наясно как се използват в нета е пълно с примери ;)

Поздрави,

Антон Миронов

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.