Оператор 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";
}
}