Професионална програма
Loading...
+ Нов въпрос
Ekaterin avatar Ekaterin 133 Точки

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

namespace _12.Currency_Converter
{
    class Program
    {
        static void Main(string[] args)
        {
            double USD = 1.79549;
            double EUR = 1.95583;
            double GBP = 2.53405;
            double sum = double.Parse(Console.ReadLine());
            string currecy1 = Console.ReadLine();
            string currency2 = Console.ReadLine();

            if (currecy1 == "BGN")
            {
                if (currency2 == "USD")
                {
                    Console.WriteLine("{0:f2} USD", sum / USD);
                }
                else if (currency2 == "EUR")
                {
                    Console.WriteLine("{0:f2} EUR", sum / EUR);
                }
                else if (currency2 == "GBP")
                {
                    Console.WriteLine("{0:f2} GBP", sum / GBP);
                }
            }
            if (currecy1 == "USD")
            {
                sum = sum * USD;
                if (currency2 == "BGN")
                {
                    Console.WriteLine("{0:f2} BGN", sum);
                }
                else if (currency2 == "EUR")
                {
                    Console.WriteLine("{0:f2} EUR", sum / EUR);
                }
                else if (currency2 == "GBP")
                {
                    Console.WriteLine("{0:f2} GBP", sum / GBP);
                }
            }
            if (currecy1 == "EUR")
            {
                sum = sum * EUR;
                if (currency2 == "BGN")
                {
                    Console.WriteLine("{0:f2} BGN", sum);
                }
                else if (currency2 == "USD")
                {
                    Console.WriteLine("{0:f2} USD", sum / USD);
                }
                else if (currency2 == "GBP")
                {
                    Console.WriteLine("{0:f2} GBP", sum / GBP);
                }
            }
            if (currecy1 == "GBP")
            {
                sum = sum * GBP;
                if (currency2 == "BGN")
                {
                    Console.WriteLine("{0:f2} BGN", sum);
                }
                else if (currency2 == "EUR")
                {
                    Console.WriteLine("{0:f2} EUR", sum / EUR);
                }
                else if (currency2 == "USD")
                {
                    Console.WriteLine("{0:f2} USD", sum / USD);
                }
            }
        }
    }
}
 

-1
Ekaterin avatar Ekaterin 133 Точки

То и моето е доста дълго.

0
TeMePyT avatar TeMePyT 142 Точки

https://pastebin.com/UXxW3brC Моето е със switch-case.

0
EmanuilNikolov avatar EmanuilNikolov 33 Точки

Кратък вариант - с два switch case - са прочиташ входната и изходна валута в отделна променлива пазиш стойността - при входната валута умножаваш, а при изходната разделящ получната стойност на желаната валута. Принтираш, форматираш, като извеждаш стринга на изходната валута.

0
AlexTasev avatar AlexTasev 65 Точки

Заради вроден мързел се разрових за по- рационално решение и открих доста елегантен начин за решаване на задачата на няколко реда. Доколкото знам няма да се изучава в нашия курс. Потърсете информация за Dictionary<TKey, TValue> Class.

https://pastebin.com/fRvm9cfk

0
25/03/2018 11:04:32
Svetoslavivanov0 avatar Svetoslavivanov0 24 Точки

С проверки, просто входната валута я преобразувам в бг, и след това я преобразувам в изходна

0
ToniStoyanov avatar ToniStoyanov 8 Точки

Ами то и моето не е много елегантно, но все пак да го споделя :) Аз реших да си въведа коефициентите като стринг и след това да ги обръщам с Parse в числови стойности. Иначе решението на @AlexTasev наистина ми харесва най-много.

https://pastebin.com/GjAjsNPH

0
25/03/2018 12:30:53