Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Hmilchev avatar Hmilchev 0 Точки

[Programming-Basics]-Homework Simple Calculation. #14 - Print a Sequence - Currency Converter

Здравейте,

Въпроса ми е отностно задача 14 от домашното към "Simple Calculations".

Общо взето в условието се иска първо да се въведе число , след това да се въведе една от следните валути : BGR / USD / EUR / GBP ,

след това да се въведе още една от оставащите 3 валути , и числото да бъде конвертирано от първата валута във втората.

(Примерно - вход - 20  ... USD ... BGN ; Изход - 35,91USD) 

 

 

Единственото което успях да измисля за сега е, да използвам многократно от If/Else , а именно :

            var n = double.Parse(Console.ReadLine());
            string currency1 = Console.ReadLine();
            string currency2 = Console.ReadLine();
            string currencyBGR = "BGR";
            string currencyUSD = "USD";
            string currencyEUR = "EUR";
            string currencyGBP = "GBP";
            
            if (String.ReferenceEquals(currency1, currencyBGR))
            { 

                   if (String.ReferenceEquals(currency2, currencyUSD))
                {
                    //tuk  konventirame BGR kym USD,dobavi re6enie

 

Идеята ми е , ако стринга currency1 е еднакъв с стринга currencyBGR , продължаваме нататък където с друг If/Else правя проверка дали currency2 е равна на currencyUSD , ако е равна ще заработи формула която да конвертира BGR към USD и да го изпише което решава задачата , ако не е равна ,във "else" ще има друга проверка с друг IF за да провери дали currency2 не е EUR , ако и така не е ще има и за GBR и така горе доло ще направя по за всеки вариант на currency1 и currency2.. 
Това което ме спира и за което пиша тук е , понеже не сме учили команда която да сравнява съдържанието на два стринга.

Опитах и с bool , да изкара true  ако са равни , но ми дава грешка при компилирането , тъй като не може просто да ги сравни математически :/.

Доста порових в Google но без успех (това String.ReferenceEquals проверява нещо от сорта дали са на едно място в паметта до колкото разбрах , дори ако currency1 e "BGR" и го сравнявам с currencyBGR", не го приема за true и ме пренасочва към Else ) , та въпроса ми е дали някой може да ми даде идея за команда която сравнява съдържанието на string-овете , за да може цялата ми идея с if/else  да тръгне.

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

Извинявам се ако не съм разбрал нещо от концепцията и логиката ми е изцяло грешна , Thermodynamics Engineer here  без никакъв опит в програмирането :/ .

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

 

 

Тагове:
0
C Programming
RoYaL avatar RoYaL Trainer 6849 Точки

Сравняването на два стринга се случва с оператора двойно равенство " == ".

var str1 = "myString";

if (str1 == "myString")

или

var str1 = "myString";

var str2 = "myString";

if (str1 == str2)

Интересно какво си потърсил, че не си намерил това?

https://www.google.bg/search?q=how+to+compare+two+string+Csharp

 

 

1
fristgerb avatar fristgerb 50 Точки

Това тук не е ли C/C++ форум? C# няма нищо общо с тези езици.

0
28/01/2016 21:02:20
krasio12356 avatar krasio12356 19 Точки

С стрингове се сравняват със

strcmp(const char* cs, const char* ct);

Сравнява cs и ct, връща отрицателно число ако cs < ct, нула ако cs = ct, положително число ако cs > ct

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