Как пользоваться if else в C++

Оператор ветвления if в C++ — урок 6

Здравствуйте, дорогие друзья! Сложно представить себе полноценную программу, которая будет работать одинаково при любых обстоятельствах. Довольно часто приходится выбирать, между несколькими вариантами развития событий в зависимости от поступающих данных. Решением данной проблемы в C++ занимается оператор ветвления.

Что такое оператор ветвления?

Давайте представим, что мы пришли в магазин. У нас есть одна цель — купить товар. Однако есть одно ограничение. Его цена не должна превышать определенную сумму. В нашем случае условие следующие: our_money >= price. Если это условие выполняется, то у нас все замечательно и мы счастливые направляемся к кассе. В противном случае нам придется искать более дешевый вариант данного товара.

Думаю у вас в голове уже сложилось понимание основных концептов ветвления в C++.

Оператор if

Чтобы указать условие при выполнении которого будет выполняться определенный код, тогда вам потребуется прибегнуть к следующей структуре:

  • набрать ключевое слово if в своей программе;
  • после него, в круглых скобках, вы должны указать логическое выражение:

    Здесь вместо <ваше выражение> нужно указать требуемое условие, при котором будет выполняться требуемый нам код.
  • инструкции, которые будут выполнятся, мы оборачиваем в фигурные скобки сразу после круглых скобок с условием:

    Подобная структура, для обрамления кода, также используется в стандартной функции main (подробнее об этом можете почитать здесь).

Также можно вовсе пренебречь фигурными скобками. Однако это можно сделать только в том случае, если в качестве исполняемого кода будет указана лишь одна инструкция (или один оператор, в том числе другой оператор ветвления, который уже может содержать любое количество инструкций):

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

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

Поэтому, какой именно способ выбрать зависит только от вас.

Оператор else

Оператор else выполняется в том случае, если условие указанное в if ложно. В таком случае будет проигнорирован код в блоке if, и программа сражу перейдет к выполнению кода в блоке else.

Данный оператор нужно прописывать после закрывающей фигурной скобки блока кода if или после единственной инструкции оператора if:

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

Комбинация нескольких операторов

Довольно часто возникает необходимость в указании сразу нескольких вариантов действий. В таком случае нам не сможет помочь помочь всего один оператор ветвления if-else.

Вот небольшой пример комбинированной конструкции сразу с несколькими условиями:

Теперь давайте более подробно разберем данную структуру:

  • Сначала мы указываем начальное условие.
  • Далее прописываем второй вариант при помощи else if ( <второе условие> ).
  • Подобных вариантов может быть сколь угодно много. Например, можно прописать условие для каждой буквы алфавита.
  • В самом конце, после else, мы указыванием тот код, который должен выполнится в том случае, если ни одно из условий не соответствует нашим требованиям.

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

Пример

В качестве примера давайте напишем программу, которая будет эмулировать поведение продавца магазина. Для создания подобной программы давайте воспользуемся структурой if-else:

Вывод нашей программы
Хотите купить машину? 1
Хотите Audi? 1
Пройдемте со мной.
Process returned 0 (0x0) execution time : 6.327 s
Press any key to continue.

Разбор кода

Здесь все должно быть вам понятным, однако давайте еще разок быстренько пробежимся по написанному нами коду:

  1. В строке 6 мы используем функцию, для вывода русских символов в консоль.
  2. В строке 14 начинается ветвление в C++. Тут у нас стандартный оператор ветвления if, а также оператор else.
  3. Внутри блока if у нас есть дополнительное условие.



Тест на тему «Оператор ветвления в C++»

Пожалуйста, подождите пока страница загрузится полностью.
Если эта надпись не исчезает долгое время, попробуйте обновить страницу. Этот тест использует javascript. Пожалуйста, влкючите javascript в вашем браузере.

If loading fails, click here to try again

Если понял весь урок, то я тебе советую проверить свои знания по данной теме. Просто пройди тест.
Начать


Вот собственно и все. В качестве домашнего задания, попытайтесь создать собственного продовца, который сможет продать мороженное. Удачи!




Комментарии к записи “Оператор ветвления if в C++ — урок 6”

Добавить комментарий

Ваш адрес email не будет опубликован.

  • Максим:

    Вы очень доступно все объясняете, очень жду новый урок. Спасибо что вы есть

  • Алексей:

    Пожалуй, лучшее, что есть по данной теме….
    Ждем продолжений

  • Владимир:

    Все понятно, хорошее объяснение

  • Лев:

    Как задать ответ, для b = …

  • Дмитрий:

    Можете уточнить вопрос?

    • Богдан:

      Дмитрий, объясните пожалуйста почему в круглых скобках оператора if стоит просто b, и почему это работает? Моё предположение такое: если значение b не равно нулю (то-есть если у b есть значение) то программа работает

      • Дмитрий:

        Именно так и есть! В программировании 0 == false, а все остальные значения большие 0 == true.

  • Рихард:

    Для тех кто изучает С++ на маке — макоси — osx. Поставьте Xcode для версии вашей osx. И забудьте про него(пока). Создаете папку nameFolder в папке User(чтобы короче навигейтить). Открываете Terminal(в утилитах). Видите приглашение консоли User$. Идете по дереву каталога nameFolder командой cd nameFolder. Или обратно cd .. В папке nameFolder создаете файл myCppProg.cpp и пишете в нем код. Сохраняете в UTF-8 *.txt. В терминале компилируете командой make myCppProg. Cмотрите отличные пояснения об ошибках, если они есть. И из терминала запускаете готовый исполняемый файл командой ./myCppProg Good luck!

  • Рихард:

    Сохраняете конечно не как myCppProg.txt а как myCppProg.cpp. Имеется ввиду в формате текстового файла в любом(почти) текстовом редакторе.

  • Алекс:

    А почему остановились на 6-м уроке? Уроки то у вас хорошие, понятно объясняете. Жалко что забросили.

  • Данил:

    Почему у меня вместо текста в программе непонятные наборы букв?

  • Гриша:

    а можно ли поставить несколько условий? например
    if (20 < c < 30){…
    если да то как?
    если нет то как заменить можно?

  • Роман:

    В программе о продаже машины через директиву #include » подцеплен» заголовочный файл stdlib.h
    У меня эта программа успешно и правильно работает без него. Почему?
    Для работы использую Dev-C++