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

Международен валутен конвертор- вярна задача в ВС, но 0/100 точки в Джъдж

Здравейте,

проверявам задачата във VS и работи коректно, но в Judge  ми дава 0 точки и не разбирам от къде е проблемът. Ето задачата:

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

namespace Eli_tu
{
    class Program
    {
        static void Main(string[] args)
        {
            double usd = 1.79549;
            double eur = 1.95583;
            double gbp = 2.53405;
            double convertedCurrency;
            double money = double.Parse(Console.ReadLine());
            string currentCurrency = Console.ReadLine();
            string requiredCurrency = Console.ReadLine();

                if (currentCurrency == "usd" && requiredCurrency == "bgn")
                {
                    convertedCurrency = money * usd;
                    Console.WriteLine(Math.Round(convertedCurrency, 2));
                }
                else if (currentCurrency == "usd" && requiredCurrency == "eur")
                {
                    convertedCurrency = money * usd / eur;
                    Console.WriteLine(Math.Round(convertedCurrency, 2));
                }
                else if (currentCurrency == "usd" && requiredCurrency == "gbp")
                {
                    convertedCurrency = money * usd / gbp;
                    Console.WriteLine(Math.Round(convertedCurrency, 2));
                }


                if (currentCurrency == "eur" && requiredCurrency == "bgn")
                {
                    convertedCurrency = money * eur;
                    Console.WriteLine(Math.Round(convertedCurrency, 2));
                }
                else if (currentCurrency == "eur" && requiredCurrency == "usd")
                {
                    convertedCurrency = money * eur / usd;
                    Console.WriteLine(Math.Round(convertedCurrency, 2));
                }
                else if (currentCurrency == "eur" && requiredCurrency == "gbp")
                {
                    convertedCurrency = money * eur / gbp;
                    Console.WriteLine(Math.Round(convertedCurrency, 2));
                }
            
                if (currentCurrency == "gbp" && requiredCurrency == "bgn")
                {
                    convertedCurrency = money * gbp;
                    Console.WriteLine(Math.Round(convertedCurrency, 2));
                }
                else if (currentCurrency == "gbp" && requiredCurrency == "eur")
                {
                    convertedCurrency = money * gbp / eur;
                    Console.WriteLine(Math.Round(convertedCurrency, 2));
                }
                else if (currentCurrency == "gbp" && requiredCurrency == "usd")
                {
                    convertedCurrency = money * gbp / usd;
                    Console.WriteLine(Math.Round(convertedCurrency, 2));
                }
            
                if (currentCurrency == "bgn" && requiredCurrency == "usd")
                {
                    convertedCurrency = money / usd;
                    Console.WriteLine(Math.Round(convertedCurrency, 2));
                }
                else if (currentCurrency == "bgn" && requiredCurrency == "eur")
                {
                    convertedCurrency = money / eur;
                    Console.WriteLine(Math.Round(convertedCurrency, 2));
                }
                else if (currentCurrency == "bgn" && requiredCurrency == "gbp")
                {
                    convertedCurrency = money / gbp;
                    Console.WriteLine(Math.Round(convertedCurrency, 2));
                }
        }
    }
}

0
Programming Basics
iGeorg1ev avatar iGeorg1ev 223 Точки

Здравей,

Мисля, че е една от лудостите на Judge. Той очаква отговора да е число и валутата след него.

Например на последния ред, където печатиш от левове в паунд:

Console.WriteLine(Math.Round(convertedCurrency, 2) + " GBP");

Аналогично за другите и би трябвало да ти даде 100/100, защото логиката работи.

Иво

0
elitza_85 avatar elitza_85 1 Точки

Благодаря за отговора това го оправих, но отново нищо. Опитах и по други начини, които отново са верни на компилатора, но при Judge съм на 0. Ето още едно решение, но не се получава:

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

namespace Eli_tu
{
    class Program
    {
        static void Main(string[] args)
        {
            double usdCourse = 1.79549;
            double eurCourse = 1.95583;
            double gbpCourse = 2.53405;
            double money = double.Parse(Console.ReadLine());
            string currentCurrency = Console.ReadLine();
            string requiredCurrency = Console.ReadLine();

            if (currentCurrency == "usd")
            {
                if (requiredCurrency == "bgn")
                {
                    Console.WriteLine(Math.Round(money * usdCourse, 2) + " BGN");
                }
                else if (requiredCurrency=="eur")
                {
                    Console.WriteLine(Math.Round(money*usdCourse/eurCourse, 2) + " EUR");
                }
                else if (requiredCurrency=="gbp")
                {
                    Console.WriteLine(Math.Round(money*usdCourse/gbpCourse, 2)+ " GBP");
                }
            }

            else if (currentCurrency == "eur")
            {
                if (requiredCurrency== "bgn")
                {
                    Console.WriteLine(Math.Round(money*eurCourse, 2) +" BGN");
                }
                else if(requiredCurrency== "usd")
                {
                    Console.WriteLine(Math.Round(money*eurCourse/usdCourse, 2) + " USD");
                }
                else if (requiredCurrency== "gbp")
                {
                    Console.WriteLine(Math.Round(money*eurCourse/gbpCourse, 2) +" GBP");
                }
            }

            else if (currentCurrency== "gbp")
            {
                if (requiredCurrency=="bgn")
                {
                    Console.WriteLine(Math.Round(money*gbpCourse, 2) + " BGN");
                }
                else if (requiredCurrency == "usd")
                {
                    Console.WriteLine(Math.Round(money * gbpCourse / usdCourse, 2) + " USD");
                }
                else if (requiredCurrency== "eur")
                {
                    Console.WriteLine(Math.Round(money*gbpCourse/eurCourse, 2) + " EUR");
                }
            }
            else if (currentCurrency == "bgn")
            {
                if (requiredCurrency == "usd")
                {
                    Console.WriteLine(Math.Round(money/usdCourse, 2) +" USD");
                }
                else if (requiredCurrency== "eur")
                {
                    Console.WriteLine(Math.Round(money/eurCourse, 2) + " EUR");
                }
                else if (requiredCurrency== "gbp")
                {
                    Console.WriteLine(Math.Round(money/gbpCourse, 2) + " GBP");
                }
            }
        }
    }
}

0
WestsideBG avatar WestsideBG 55 Точки

Логиката си работи да, но с просто око, когато си влезнеш в детайлите на submission-а, се вижда, че ти се дава като вход валута, но с главни букви :D. Не се притеснявай чудил съм се по цяла нощ заради такива грешки, а те и съветвам вместо да го променяш навсякъде просто промени входа на ToLower(). Ако не знаеш какво прави, чичо гугъл знае :). Приятна вечер.

0
elitza_85 avatar elitza_85 1 Точки

Е, направо съм изумена, даде ми стоте точки- не мога да повярвам, че това е била причината.... и много благодаря :)

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