Оператор if позволяет проверить какое-то утверждение (выражение) на истинность и в зависимости от полученного результата произвести то или иное действие. Для начала рассмотрим общий синтаксис данного оператора:
if (утверждение или выражение) { действие 1; } else { действие 2; }
int A=10,B=5,C=12; if(A>B&&A<C){ // истина cout<<"A between B and C";// на экране Test }
int A=10,B=15; if(A-B){ // -5 это истина cout<<"A != В";// на экране A != В }
int A=0; if(++A){ // 1 это истина cout<<"Best test!!";// на экране Best test!! }
int A=0; if(A++){ // 0 это ложь cout<<"Best test!!";// эту фразу мы не увидим, т. к. if не выполнится }
if(A==Z) - обычное утверждение, будет истинным, если A равно Z if(A=Z) – операция присваивания, выражение будет истинным, если Z не равно нулю
Конструкция else является необязательной. Это означает, что если нет необходимости делать что-либо при ложности утверждения, данную конструкцию можно не указывать. Если к блоку if или else относится только одна команда, то фигурные скобки можно не указывать.
Внимательно проанализировав данный пример, вы заметите, что каждый следующий if, может выполниться только, в том случае, если не выполнился его "предшественник", так как находится внутри конструкции else последнего. Оптимизация кода. Если к блоку if или else относится только одна команда, то фигурные скобки можно не указывать. Дело в том, конструкция if else считается одной цельной командной структурой. Следовательно, если внутри некоторых else нет ничего кроме вложенной конструкции, фигурные скобки таких else можно опустить.
# include <iostream> using namespace std; void main(){ // обявляется переменная,для хранения первоначальной суммы int summa; // запрос на ввод суммы с клавиатуры cout<<"Enter item of summa:\n"; cin>>summa; if(summa>1000){ // если сумма больше 1000 грн., скидка 25% cout<<"You have 25% discount!!!\n"; cout<<"You must pay - "<<summa-summa/100*25<<"\n"; } // если сумма не больше 1000 грн. продолжаем анализ else if(summa>500){ // если сумма больше 500 грн., скидка 10% cout<<"You have 10% discount!!!\n"; cout<<"You must pay - "<<summa-summa/100*10<<"\n"; } // если сумма не больше 500 грн. продолжаем анализ else if(summa>100){ // если сумма больше 100 грн., скидка 5% cout<<"You have 5% discount!!!\n"; cout<<"You must pay - "<<summa-summa/100*5<<"\n"; } else{ // если сумма не больше 100 грн. скидки нет cout<<"You have not discount!!!\n"; cout<<"You must pay - "<<summa<<"\n"; } }