[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 без никакъв опит в програмирането :/ .
Благодаря предварително!
С стрингове се сравняват със
strcmp(const char* cs, const char* ct);
Сравнява cs и ct, връща отрицателно число ако cs < ct, нула ако cs = ct, положително число ако cs > ct