7. Условные вычисления
{ Result = floor(RoublesNum / RateValue + 0.5);
Dollars->Text = FloatToStrF(Result,ffFixed,10,2 );
} Получится такой текст:
if( RateValue > 0 &&
RateValue <= 100 &&
RoublesNum >= 0 &&
RoublesNum < 100000 )
{
Result = floor(RoublesNum'. / RateValue + 0.5);
Dollars->Text = FloatToStrF(Result, ffFixed,10,2 ) ;
}
Откомпилируйте программу, запустите ее и попробуйте вычислить сумму в долларах при нулевом или слишком большом (например, 200) курсе. Калькулятор никак не отреагирует на такие значения.
Хорошо бы подобную проверку добавить и в код обработки нажатия на кнопку пересчета в рубли, но там вся логика скомпонована в один-единственный оператор, и выполнить соответствующие проверки немного сложнее. Теперь вы понимаете, почему программу надо записывать как можно более просто и наглядно?
Конечно, условные операторы применяют не только для использования в фильтрах. На их основе строится вся логика работы любой мало-мальски сложной программы.
Сравнение чисел с плавающей запятой
Очень осторожно надо сравнивать числа с плавающей запятой. Как уже говорилось, в отличие от целых чисел в программе они представляются не точно, а приближенно, поэтому прямое их сравнение с помощью операции = = может не дать желаемого результата. Например:
float x, у, z;
z = 0;
х = 3.1415927;
11^