Хелпикс

Главная

Контакты

Случайная статья





Условные конструкции. Конструкция if



Условные конструкции

 

Условные конструкции направляют ход программы по одному из возможных путей в зависимости от условия.

 

Конструкция if

 

Конструкция ifпроверяет истинность условия, и если оно истинно, выполняет блок инструкций. Этот оператор имеет следующую сокращенную форму:

 

if (условие)

{

инструкции;

}

 

В качестве условия использоваться условное выражение, которое возвращает trueили false. Если условие возвращает true, то выполняются последующие инструкции, которые входят в блок if. Если условие возвращает false, то последующие инструкции не выполняются. Блок инструкций заключается в фигурные скобки.

Например:

 

#include <iostream>

using namespace std;

int main()

{

int x = 60;

 

if(x > 50)

{

cout << "x is greater than 50 \n";

}

 

if(x < 30)

{

cout << "x is less than 30 \n";

}

 

cout << "End of Program" << "\n";

return 0;

}

 

Здесь определены две условных конструкции if. Они проверят больше или меньше значение переменной x, чем определенное значение. В качестве инструкции в обоих случаях выполняется вывод некоторой строки на консоль.

В первом случае x > 50 условие истинно, так как значение переменной x действительно больше 50, поэтому это условие возвратит true, и, следовательно, будут выполнятся инструкции, которые входят в блок if.

Во втором случае операция отношения x < 30 возвратит false, так как условие ложно, поэтому последующий блок инструкций выполняться не будет. В итоге при запуске программы вывод консоли будет выглядеть следующим образом:

 

 

Также можно использовать полную форму конструкции if, которая включает оператор else:

 

if(выражение_условия)

инструкция_1

else

инструкция_2

 

После оператора else мы можем определить набор инструкций, которые выполняются, если условие в операторе if возвращает false. То есть если условие истинно, выполняются инструкции после оператора if, а если это выражение ложно, то выполняются инструкции после оператора else.

 

int x = 50;

if(x > 60)

cout << "x is greater than 60 \n";

else

cout << "x is less or equal 60 \n";

 

В данном случае условие x > 60 ложно, то есть возвращает false, поэтому будет выполняться блок else. И в итоге на консоль будет выведена строка "x is less or equal 60 \n".

Однако нередко надо обработать не два возможных альтернативных варианта, а гораздо больше. Например, в случае выше можно насчитать три условия: переменная x может быть больше 60, меньше 60 и равна 60. Для проверки альтернативных условий мы можем вводить выражения else if:

 

int x = 60;

 

if(x > 60)

{

cout << "x is greater than 60 \n";

}

else if (x < 60)

{

cout << "x is less than 60 \n";

}

else

{

cout << "x is equal 60 \n";

}

 

То есть в данном случае мы получаем три ветки развития событий в программе.

Если в блоке if или else или else-if необходимо выполнить только одну инструкцию, то фигурные скобки можно опустить:

int x = 60;

 

if(x > 60)

cout << "x is greater than 60 \n";

else if (x < 60)

cout << "x is less than 60 \n";

else

cout << "x is equal 60 \n";

Пример 1.3. Программа выполняет преобразование дюймов в сантиметры или сантиметров в дюймы в зависимости от введённых данных; предполагается, что вы укажете единицы измерения, добавляя i для дюймов и c для сантиметров (допустим, 5i или 4.3с). В программе как раз и проверяется введённая единица измерения. Если единица измерения указана некорректно, программа должна вывести нули.

 

// Пример 1.3 – использование оператора if

#include <iostream>

using namespace std;

int main() {

setlocale(LC_ALL, "Russian");     

const float fac = 2.54; // коэффициент пересчёта

float x, in, cm; char ch = 0;

cout << "введите длину: "; cin >> x >> ch;

if (ch == 'i') { // inch - дюймы

     in = x; cm = x*fac;

}

else if (ch == 'c') { // cm - сантиметры

     in = x/fac; cm = x;

}

else

   in = cm = 0; // неправильный ввод

cout << in << " in = " << cm << " cm\n";

system("pause"); return 0;

}



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.