Да, это функционально правильно.
Вы можете избавиться от некоторых разделов, если захотите, просто используя одну переменную для сохранения курса (а не rate1 / rate2), а затем просто используя решениеблок для установки переменной по-другому.Тогда вам не нужно будет дублировать два последних утверждения.