Loading...
Vinetu avatar Vinetu 1 Точки

Currency Converter защо не ми работи в judge системата

Здравейте, помъчих се да си направя конвертора за валути сам.

Бях доста доволен от резултатам, тъй-като когато пусна конзолата през Visual Studio и тествам работи отлично.

Но за съжаление judge не е на това мнение.

Ако може някой да ми обясни къде бъркам, ще съм му много благодарен.

Това е кода:

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

namespace Curency_Calculator
{
    class Program
    {
        static void Main(string[] args)
        {
            // Долния ред е за бройката валутни единици която искаме да обменим.
            var amountMoney = double.Parse(Console.ReadLine());

            // По-долу в следващите два редам въвеждаме валутата която искаме да обменим и валутата която искаме да получим.
            var enterCurrency = Console.ReadLine();
            var exitCurrency = Console.ReadLine();

            // Отдолу следните 2 променливи съм ги запазил, съответно за валутата от която ще обменяме и валутата която искаме да получим.
            double enterCu = 0;
            double exitCu = 0;

            // Тук правим проверка коя валута искаме да обменим и съответно запазваме неиния курс в промвнливата enterCu
            if (enterCurrency == "bgn")
            {
                enterCu = 1;
            }
            else if (enterCurrency == "usd")
            {
                enterCu = 1.79549;
            }
            else if (enterCurrency == "eur")
            {
                enterCu = 1.95583;
            }
            else if (enterCurrency == "gbp")
            {
                enterCu = 2.53405;
            }

            // Тук правя проверка коя валута искаме да получим и съответно запазваме неиния курс в промвнливата exitCu
            if (exitCurrency == "bgn")
            {
                exitCu = 1;
            }
            else if (exitCurrency == "usd")
            {
                exitCu = 1.79549;
            }
            else if (exitCurrency == "eur")
            {
                exitCu = 1.95583;
            }
            else if (exitCurrency == "gbp")
            {
                exitCu = 2.53405;
            }

            // Тук превръщаме броиката валутни единици в левове, след което левовете ги превръщам във валутата която искаме да получим.
            var sum = amountMoney * enterCu / exitCu;

            Console.WriteLine(Math.Round(sum, 2));
        }
    }
}

 

Тагове:
0
Programming Basics 16/07/2016 00:50:42
martinski avatar martinski 66 Точки

Привет. Когато се работи с пари е силно препоръчително да се ползва decimal за тип данни.Предполагам е заложено и в Judge-a това.

-1
TeodorDimitrov89 avatar TeodorDimitrov89 264 Точки

Веднага ти казвам къде ти е грешката.В условието името на валутите са ти с главни букви а ти правиш проверки и там пишеш с малки букви.

Или ги направи да са с големи букви или сложи следното:

 var enterCurrency = Console.ReadLine().ToLower();
            var exitCurrency = Console.ReadLine().ToLower();

Дава ти 100/100

0
martinski avatar martinski 66 Точки

Пич , винаги ли слагаш минуси на коментарите ,които не са твои?Форума е да си помагаме ,а не да си показваме...минусите :)

0
18/07/2016 00:07:59
TeodorDimitrov89 avatar TeodorDimitrov89 264 Точки

Пич как предположи, че аз съм ти сложил минус?

Не съм аз!

Ако бях аз коментара щеше да ти е подчертан с бутона надолу а тука ясно се вижда че не съм ти сложил минус http://prikachi.com/images.php?images/179/8840179u.png

Както и да е.

0
18/07/2016 11:35:15
YavorSpassov+deleted! avatar YavorSpassov+deleted! 133 Точки

Много е лесно да махнеш минуса, да направиш screenshot и след това пак да го поставиш. :)
Just saying

1
borislav9212 avatar borislav9212 745 Точки

Здравей колега,

Имаш няколко допуснати грешки. Когато работиш с пари винаги ползвай тип "decimal". Сумата не е цяло число и трябва да е 0.0, а когато е от тип "decimal" се слага и малко "m" или голямо "M" отзад зад сумата. Другата грешка ти е, че проверката за валутата ти е с малки букви навсякъде, а трябва да е с голями. Един начин е да ги  направиш голями, а друг да сложиш .ToLower(), след стринговете където въвеждаш валутата. При него можеш да въвеждаш и малки и голями букви, при което пак се отчит за вярно. Ето ти кода редактиран. -> http://pastebin.com/GbqCEC09

0
16/07/2016 01:18:35
Vinetu avatar Vinetu 1 Точки

Много благодаря за бързите отговори на всички. :)

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