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) курсе. Калькулятор никак не отреагирует на такие значения.

Хорошо бы подобную проверку добавить и в код обработки нажатия на кнопку пересчета в рубли, но там вся логика скомпонована в один-единственный оператор, и выполнить соответствующие проверки немного сложнее. Теперь вы понимаете, почему программу надо записывать как можно более просто и наглядно?

h01161.jpg

Конечно, условные операторы применяют не только для использования в фильтрах. На их основе строится вся логика работы любой мало-мальски сложной программы.

Сравнение чисел с плавающей запятой

Очень осторожно надо сравнивать числа с плавающей запятой. Как уже говорилось, в отличие от целых чисел в программе они представляются не точно, а приближенно, поэтому прямое их сравнение с помощью операции = = может не дать желаемого результата. Например:

float x, у, z;

z = 0;

х = 3.1415927;

11^