Loading...
PavelKolashev avatar PavelKolashev 5 Точки

12. Currency Converter-Работи перфектно във Visual Studio, a judge системата казва, че задачата е грешна.

Здравейте, на практика целия проблем е описан в заглавието. Judge не ми дава точки която работи перфектно на VS. Някой ако има идеи нека сподели. Ето и кода:

BTW какви са тия тагове бе които не мога да пусна темата?


http://pastebin.com/jQSkERzM

 

Тагове:
0
Programming Basics 24/01/2017 14:20:40
ThePSXHive avatar ThePSXHive 436 Точки

Трябва да се придържаш към означенията, които се изискват в задачата. Съответно, проверките са както следва: вместо "$" - "USD"; вместо "eu" - "EUR"; "lv" - "BGN" и "pnd" - "GBP". Подобни разминавания се дължат на разликата между твоя код и кодът, който се очаква от Judge-a.

 

0
PavelKolashev avatar PavelKolashev 5 Точки

Мерси, ще го поправя.

0
ison4eto avatar ison4eto 40 Точки

Имам същия проблем. В Visual Studio ми показва всичко вярно, в judge системата - че не извеждам никакъв отговор. Кода ТУК

0
24/01/2017 14:25:33
RoYaL avatar RoYaL Trainer 6849 Точки

Ако го пускаш така на един ред - нищо чудно :)

0
ison4eto avatar ison4eto 40 Точки

Извинявам се. От скоро съм в СофтУни и още не съм свикнала много със форума. В judge-a не е качена на един ред.

0
Badjanak avatar Badjanak 0 Точки

Пуснах кода ти през Judge-а с една мнооооооого малка модификация. Вместо това:

if (currencyTo == "USD") Console.WriteLine(Math.Round(money / USD, 2) + "USD");

Го замених с това:

if (currencyTo == "USD") Console.WriteLine(Math.Round(money / USD, 2) + " USD");

Единствената разлика (с която аз си обяснявам различното поведение на Judge-а) е, че съвсем в края на реда съм оставил един интервал в началото на слепения стринг "USD". По същия начин постъпих навсякъде, където има подобен команден ред и нещата се получават перфектно... Обърни внимание на очаквания резултат в уърдовския файл ("Simple-Calculations-Exercises") като оформление (колонката "изход"). Предполагам, че това е "препъникамъчето".

0
24/01/2017 23:46:09
Sim0o0na avatar Sim0o0na Trainer 567 Точки

Създавай адекватни теми, а именно дълъг код чрез линк от pastebin и тагове, които не са 123, а по темата!

0
PavelKolashev avatar PavelKolashev 5 Точки

Прощавай, от една седмица съм в СофтУни, а за таговете до вчера не знаех за какво са. Тепърва влизам в час.

1
Sim0o0na avatar Sim0o0na Trainer 567 Точки

Успех :)

0
g_todorov avatar g_todorov 106 Точки

Здравей,

 много конструкции могат да се използват за решаване на тази задача - с If-else, Switch-Case, List, Method. В следващите лекции предстои да ги учиш! Ако се питаш защо тази задача е тук и сега!? Според мен, за да се скъсаш от кодене, за да затвърдиш простите калкулации. Преди известно време се скъсах от кодене, запомних задачата и след няколко лекции я реших с много по-кратки и оптимални кодове. Публикувам ти едно решение на задачата, при което съм използвал 2 Switch-Case  конструкции. Докато четеш, ще е нужно да следиш и кода и ще видиш, че не е трудно.

http://pastebin.com/z8sEmfTv

1.Четеш задачата и разбираш, че всички валути са сметнати на база българския лев 1USD = 1.79549, 1EUR = 1.95583 и.тн.

2.Логично е при това положение ако искаш обмяна от една валута към втора да разделиш вал.курс на първата с този на втората, за да откриеш стойността за единица обмяна от този вид. След като поместиш в една променлива стойността от тази обмяна и я умножиш по броя единици за обмяна получаваш крайното решение. Но как да стане това!?

1. Кодиш даденото - 3 четящи променливи в подходящия формат - първата поне Double, останалите String

2. Switch-Case конструкцията проверява съдържанието на дадена променлива - правиш го като пишеш името на проверяваната променлива в скобите с/у Switch. След това изреждаш възможните случаи с case в конкретната задача го правиш с " ", защото са стрингове и пишеш какво да се случи при съвпадение на проверяваната променлива с case. В нашия случай при съвпадение напр. USD  помощна променлива Val1 да стане = 1.79549 и така ги изреждаме надолу.

3. Създаваме си помощни променливи Val1 и Val2, по една за всяка Switch-Case конструкция, като Switch-Case-овете ще ги "напълнят" със стойност при съвпадение. По подразбиране трябва да зададем помощните променливи в Double формат.

4.След първата правиш още една Switch-Case, която да пълни със стойност при съвпадение втората променлива Val2;

5.При деление на Val1/Val2 ще намериш стойността от обмяната за единица валута. Умножаваш тази стойност по бройката в началото (променлива amount) и получаваш крайния отговор. В случая var result ти съхранява стойността от тези аритметики.  Отпечатваш резултата като {0:f2} ти печати стойност до 2-рия знак след десетичната точка.

Успех!

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