|
Программирование >> Дополнительные возможности наследования
другой блок, в листинге 4.4 программист намеревался выводить на экран одно сообщение, если первая проверка (RedSoxScore > Yankees) возвращает значение true, и другое сообщение, если эта проверка возвращает значение false. Показанный выще способ последовательного использования нескольких операторов if для проверки ряда условий прекрасно работает, но слишком громоздкий. Улучшить читабельность программы в подобных случаях можно с помощью ключевого слова else (листинг 4.6): if (условие) выражение; else выражение; Листинг 4.В. Пример иснодьзованвв ммчевого сдова else 1: Листинг 4.6. Пример конструкции с ключевыми 2: словами if и else 3: ftinclude <iostream.h> 4: int mainO 5: { 6: int firstNumber, secondNumber; 7: cout Please enter a big number: ; 8: cin firstNumber; 9: cout \ nPlease enter a smaller number: ; 10: cin secondNumber; 11: if (firstNumber > secondNumber) 12: cout \ nThanks!\ n ; 13: else 14: cout \ nOops, The second is bigger! ; 15: 16: return 0; 17: } . Please enter a big number: 10 Please enter a smaller number; 12 Oops. The second is bigger! В строке 11 проверяется условие, заданное в операторе if. Если это условие истинно, будет выполнена строка 12, после чего работа программы завершится в строке 16. Если же это условие возвратит false, программа продолжит работу со строки 14. Если в строке 13 удалить ключевое слово else, строка 14 будет выполнена в любом случае, вне зависимости от выполнения условия. Но в данной конструкции if-else будет выполняться либо блок после if, либо блок после else. Помните, что в конструкции if-else можно использовать не только отдельные выражения, но и целые блоки выражений, заключенных в фигурные скобки. Оператор if Ниже приводится синтаксис оператора if. Форма 1: if (условие) выражение; следующее выражение; Если условие возвращает true, то выполняется выражение, а за ним и следующее выражение. Если условие возвратит false, то выражение игнорируется, а программа переходит к выполнению следующего выражения, Помните, что вместо выражения может использоваться целый блок, заключенный в фигурные скобки. Форма 2: if (условие) выражение1; -else выражение2; следующее выражение; Если условие возвращает значение true, выполняется выражение!, в противном случае выполняется выражение2. После этого выполняется следующее выражение. Пример: if(SomeValue < 10); cout: SoffleValue. is less than 10 ); else. cout SomeValue Is not less than 10! ); cout Done. endl; Сложные конструкции с if Нет никаких офаничений на использование любых операторов в блоках выражений в консчрукции if-else, в том числе на использование дополнительных операторов if и else. В этом случае будет получена вложенная конструкция из нескольких операторов if: if (условие1) { if (уел о вне 2) выражение 1: else { if (условиеЗ) выражение2; else выражениеЗ; else выражениеА; Смысл этой конструкции из нескольких операторов if можно расшифровать так: если условие1 истинно и условие2 истинно, выполните выражение!. Если условие1 истинно, а условие2 - нет, тогда проверьте условиеЗ и, если оно истинно, выполните вы-ражение2. Если условие! истинно, а условие2 и условиеЗ - нет, тогда выполните выраже-ниеЗ. Наконец, если условие! ложно, выполните выражение4. Да, вложенные операторы if могут кого угодно запутать! Пример использования такой сложной конструкции с несколькими операторами if показан в листинге 4.7. Лисшивг 4.7. Едожиые ноисшрутцш с вдвжениыми оиерашврамв if 1: Листинг 4.7. Пример сложной конструкции с 2: вложенными операторами if 3: #include <iostream.h> 4: int main() 5: { 6: Запрашиваем два числа 7: Присваиваем числа переменным bigNumber и littleNumber 8: Если значение bigNumber больше значения littleNumber, 9: проверяем, делится ли большее число на меньшее без остатка !0: Если да, проверяем, не равны ли они друг другу 12: int firstNumber, secondNumber; 13: cout << Enter two numbers.\ nFirst: ; 14: cin >> firstNumber; 15: cout << \ nSecond: ; 16: cin secondNumber; 17: cout \ n\ n ; 19: if (firstNumber >= secondNumber) 20: { 21: if ( (firstNumber % secondNumber) == 0) evenly divisible? 22: { 23: if (firstNumber == secondNumber) 24: cout They яге the same!\ n ; 25: else 26: cout They are evenly divisible!\ n ; 27: } 28: else 29: cout They are not evenly divisible!\ n ; 30: } 31: else 32: cout Hey! The second one is larger!\ n ; 33: return 0; 34: } Enter two numbers. First: 10
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |