понедельник, 13 июня 2011 г.

С++. Урок 3. Ветвления программы (Условия: if-else)

В с++ существует несколько видов условных операторов. Используются они в ситуация, когда в зависимости от происходящих событий нам надо выполнить различный код. Например, на 0 делить нельзя, поэтому нам всегда надо проверять, не равен ли делитель нулю. Для этого в с++ существует несколько конструкций:
  • if  (условие) {код}
  • if  (условие) {код}  else {код}
  • if  (условие) {код} elseif (условие2) {код} elseif(условие3) {код}
  • if  (условие) {код} elseif (условие2){код} elseif (условие3){код} else{код}
  • switch (переменная)
    case "значение":
      {код; break;} default: {код;break;}
Теперь, что эти конструкции означают.
Первые четыре - разные разновидности одной конструкции. У нас есть какой-то условие и в зависимости от его выполнения/невыполнения мы исполняем различный код. Elseif (условие) - если предыдущее не правда то если условие в скобках правда выполняем код. Просто else означает, что его код выполняется в случае, если ни одно предыдущее условие не выполнилость
Примеры:
if (a>b)

{

cout<<a<<">"<<b<<endl;

}

if  (c='y')

{

cout<<"вы подтвердили свой выбор"<<endl;

}

if  (n==0)

{

cout<<"n=0"<<endl;

}

else

{

cout<<"n не равняется 0"<<endl;

}

if  (n==1)

{

n=2;

}

elseif (n==2)

{

n=-2;

}

elseif(n==10)

{

n=1

}

else

{n=0};
Теперь немного про конструкцию switch-case
Она нам необходима, когда у нас есть много условий, зависящих от одной переменной. Тогда мы пишем:
switch (переменная)
case значение:
код и  break; //break означает, что весь код ниже  до конца switch выполнять не надо
Также можно записать вот так:
case переменная:
значение1:
значение2:
значение н:
код п ;break; // Это значит, что при значение 1 2 или н мы выполняем код п
Запись switch(n)
default:
{kod
break;
}
означает, что по умолчанию мы будем выполнять kod, если ни одно из других условий не выполнилось
Примеры:
switch (c)

case '+'

{

int res=a+b;

break;

}

case '-'

{

int res=a-b;

break;

}

default:

{

res=0;

break;

}
Теперь задания для практики:
  1. Калькулятор: с клавиатуры вводят число знак и число. Ваша задача вывести результат или сообщить об ошибке
  2. Квадратное уравнение: вводят 3 числа a,b,c. Ваша задача решить уравнение ax*x+b*x+c=0 и вывести результат
Напоминаю, что ввод в с++:
cin>>переменная;
Вывод:
cout<<переменная
Не забываем, что на 0 делить нельзя. Если решаете квадратно уравнение через дискриминант, то помните, что он не может быть отрицательным, а если он 0, то корни совпадают
P.S. Немного про возможные логически операции. В условии вы можете использовать все математические операции сравнения:
== - равно
!= - не равно
< - больше
> - меньше

1 комментарий: