Loading...
stlevkov avatar stlevkov 9 Точки

Домашно 14 Задача - Конзолен Междувалутен Конвертор - Programming 101 / Simple Calculations

Здравейте,

Искам да попитам , дали условието и проверката на задачата отговарят правилно и да ме насочите , къде мога да бъркам , че цял ден се мъча да реша задачата по правилният начин.

В заданието се иска да има Input:

  • Amaunt
  • Currency Input
  • Currency Output

Написах кода , но Judge ми дава 0/100. Въпреки , че колкото и да го тествам ми дава верният отговор по условието всеки път!

Пуснах debugger-a и видях , че алгоритъма тества само с 1 Input > Amaunt

Не уточнява каква валута в каква да се преобразува , следователно очакваният Output е грешен.

/* Входът e сума за конвертиране + входна валута + изходна валута. Изходът е едно число – преобразуваната сума по посочените по-горе курсове, закръглен до 2 цифри след десетичната точка. */

Може ли някой да ми помогне. Благодаря ви предварително!

0
Programming Basics
TeodorDimitrov89 avatar TeodorDimitrov89 264 Точки

Ако можеш пусни някакъв код в http://pastebin.com/ .

2
stlevkov avatar stlevkov 9 Точки

http://pastebin.com/UF3Udaes

Дори и да махна текстовете , пак не работи. Очевидно бъркам метода за решаване.

1
03/04/2016 18:02:18
TeodorDimitrov89 avatar TeodorDimitrov89 264 Точки

Сега ще я погледна.

Виж в условието ти се иска валутата да е с Големи Букви а ти ги даваш в if-фовете като малки.

Добавих ти коментар в кода:

http://pastebin.com/Wt3ZQe5g

100/100

2
03/04/2016 18:16:47
Ilsten avatar Ilsten 0 Точки

Къде тотално бъркам нещата, че моето решение въобще не ми тръгва?

https://pastebin.com/KgfHauDC

0
The_assassin avatar The_assassin 158 Точки

@Ilsten, Ти сериозно ли....!?

Аз не уча „C#“, но то за всеки е ясно, че имаш несъответващи скоби. Не, че останалият код ти е наред, но първо започни от скобите!

0
stlevkov avatar stlevkov 9 Точки

Благодаря за съвета.

Добавих Tolower()

Магията се случи :D

 

2
bpavlov123bp avatar bpavlov123bp 6 Точки

Ето едно решение и от мен, макар и не много красиво ми дава 100 точки в системата.http://pastebin.com/z38Nm6Bd

1
borislav9212 avatar borislav9212 745 Точки

Здравейте колеги, ето и от мен едно решение http://pastebin.com/rPLi3RVQ

в началото инициализирах две променливи и им задодох стойност - 0.0. Във всички if - else въведох посочените курсове. и наи отдол ги пресметнах, така спестих да пиша навсякъде cw. дано съм бил полезен.

 

 

0
04/04/2016 16:12:43
Ralitsa88 avatar Ralitsa88 3 Точки

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

опитах да реша задачата сама, но започнах да получавам грешки от типа на:

Unhandled Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at Currency_Converter.Main()

затова реших да пиша, имам нужда от помощ. Опитах и с вашите решения, но отново не се получава.

Ето и моето решение: http://pastebin.com/pcn08Swe

Предварително благодаря :)

0
Thenis avatar Thenis 219 Точки

Пускаш кода в грешната задача. Трябва да го пуснеш в "Currency Converter". То го пускаш в "USD to BGN"

1
joanapenova avatar joanapenova 1 Точки

Здравей, това е моето решение. Стана малко тромаво и ще съм Ви благодарна, ако някой ми каже как да го поправя :) 

http://pastebin.com/aRzp5aC6

0
borislav9212 avatar borislav9212 745 Точки

Здравей, хубаво е да задаваш по смислени имена на променливите, също така като се работи с пари използвай "decimal", той има най-голяма точност до 28,29 десетични знака и се изпозва за пресмятането на пари. Може да не пишеш във всеки if Console.WriteLine а само най-отдолу. Ето виж как съм го направил

0
Kalo7o avatar Kalo7o 3 Точки

Аз пробвах още по лесен вариант, само че не мога да направя ключа на масива да е стринг и го направих с If-else.

 

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)
        {
            double[] numbers = { 1, 1.79549, 1.95583, 2.53405 };
            var currency = double.Parse(Console.ReadLine());
            Console.WriteLine("Choose from what currency do you want to convert 0-BGN, 1-USD, 2-EUR, 3-GBP.");
            var from = int.Parse(Console.ReadLine());
            Console.WriteLine("Choose your currency to convert 0-BGN, 1-USD, 2-EUR, 3-GBP.");
            var to = int.Parse(Console.ReadLine());
            Console.WriteLine(Math.Round(((numbers[from] / numbers[to]) * currency), 2));
        }
    }
}
 

0
joanapenova avatar joanapenova 1 Точки

Супер, мерси, така е доста по-стегнато решението :)

0
iliyamar avatar iliyamar 13 Точки

Здравейте,

Реших, че е по удачно да използвам SWITCH-CASE вместо IF, основно заради читаемостта. Ето и моето решение:

http://pastebin.com/PXD0Z4GU

Въпреки, че "излъгах" успешно системата за 100т. ще бъда благодарен за някои препоръки и коментари.

0
iliyamar avatar iliyamar 13 Точки

Много добро решение! Поздравления!

-1
Yoana_123 avatar Yoana_123 0 Точки

Отлично решение !

0
peshoo avatar peshoo 1 Точки

Ето го и моето решение -  http://pastebin.com/5wwGgL4m

Но проблема е, че нямам зададените стойности за USD към GBP и прочее.. Използвал съм актуалните за 2/1/2017 стойности и Judga разбира се ми дава грешка на точно тях. Някакви идеи?

0
krasi1105 avatar krasi1105 380 Точки

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

0
Nasko avatar Nasko 2 Точки

Здравейте
Ето едно решение и от мен: (Github) Кликни Тук

Надявам се да помогне и да е различно, защото знаем добре че различните проблеми могат да се решат по много начини.

        double money = double.Parse(Console.ReadLine());
        string currencyIn = Console.ReadLine();
        string currencyOut = Console.ReadLine();

Това което ми дойде като идея е този ред:
        string currencyStr = currencyIn + currencyOut;

И от тук вече "switch" почва да работи с всички възможни комбинации:

switch (currencyStr)
        {
            case "USDBGN":
                Console.WriteLine(Math.Round(usdTobgn, 2) + " " + currencyOut);
                break;
    

И т.н. :)

0
Wark0z03 avatar Wark0z03 0 Точки

Здравейте!

Някой може ли да ми каже защо за да превърнем USD във ЕUR трябва да делим числото на стойността на еврото и после да го умножаваме със стойността на долара?

Благодаря предварително! :)

0
Popov79 avatar Popov79 1 Точки

https://pastebin.com/VfZgKPxS

Това е моето решение , след доста опити :)

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