Сравнение строк в C использует функцию strcmp (). Вы не можете сделать это с помощью
if (currency == "USD")
Добавить #include <string.h>
, а затем
if (strcmp (currency, "USD") == 0)
Также обратите внимание, что не тестирование возвращаемого значения из scanf это всегда ошибка . Вы думаете, что можете считать, что ввод правильно сформирован, но, в особенности, пользовательский ввод часто не выполняется.
Далее, чтобы прочитать строку, вы не можете использовать %c
, но должны использовать %s
. Не делайте этого вслепую, так много вопросов о том, как ограничить размер ввода, чтобы не переполнять ваш массив currency []. Ищите их. Если в нем упоминается fgets (), присмотритесь.
Вы также должны привыкнуть писать новые строки \n
на конце строки, потому что именно тогда буферизованный вывод сбрасывается («появляется»). Windows отчасти нарушает добавление новой строки после завершения программы, что приводит к этой часто встречающейся мерзости printf ("\nwhatever")
.