КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Правила использование break
Наиболее часто на практике применяется вариант оператора switch, каждая из веток которого должна заканчивается его завершением, т.е. оператором break. // Пример 7.2.5 // Использование оператора switch: параметр выбора - целое #include <iostream> using namespace std; void main() { setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста unsigned short number; double kursG=1, kursD=4.9, kursE=7.6,kursR=0.19, kurs; cout << "Введите номер валюты (1-гривна, 2-доллар, 3-евро, 4-рубль): "; cin >> number; switch (number) { case 1: cout << "Гривна! "; kurs=kursG; break; case 2: cout << "Доллар! "; kurs=kursD; break; case 3: cout << "Евро! "; kurs=kursE; break; case 4: cout << "Рубль! "; kurs=kursR; break; default: cout << "Неправильно выбран номер!\n"; return; } cout << "Для вычисления выбран курс = " << kurs << endl; cin.get();cin.get(); }
// Пример 7.2.6 // Использование оператора switch: параметр выбора - перечисление #include <iostream> using namespace std; enum Valuta {Grivna=1, Dollar, Evro, Rubl}; void main() { setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста unsigned short number; double kursG=1, kursD=4.9, kursE=7.6,kursR=0.16, kurs; cout << "Введите номер валюты (1-гривна, 2-доллар, 3-евро, 4-рубль): "; cin >> number; switch (number) { case Grivna: cout << "Гривна! "; kurs=kursG; break; case Dollar: cout << "Доллар! "; kurs=kursD; break; case Evro: cout << "Евро! "; kurs=kursE; break; case Rubl: cout << "Рубль! "; kurs=kursR; break; default: cout << "Неправильно выбран номер!\n"; return; } cout << "Для вычисления выбран курс = " << kurs << endl; cin.get(); cin.get(); }
3. Ограничение возможностей оператора switch
И оператор switch, и оператор if-else позволяют программе осуществить выбор из списка взаимоисключающих вариантов. Оператор if-else более гибок и может обрабатывать диапазоны и вещественные числа. Оператор switch не предназначен для обработки диапазонов, т.к. метка варианта case оператора switch не может быть вещественным значением.
// Использование оператора switch недопустимо для анализа диапазонов // Нужно использовать if-else #include <iostream> using namespace std; void main() { setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста unsigned short int age,index; cout << "Введите возраст от 17 до 65: "; cin >> age; if (age >=17 && age < 35) index=0; else if (age >=35 && age < 50) index=1; else if (age >=50 && age < 65) index=2; else index=3; cout << "Индекс возраста = " << index << endl; cin.get();cin.get(); }
4. Сравнение операторов switch и if-else
Использование switch упрощает запись сложных, многоуровневых операторов if-else, // Пример 7.2.8 // Совместное использование операторов if-else и switch #include <iostream> using namespace std; enum Level {Rebenok, Molodoy, Sredniy, Pogiloy, Stariy }; Level GetAgeIndex(); void Print(Level); void main() { setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста Level index; index=GetAgeIndex(); Print(index); cin.get();cin.get(); }
Level GetAgeIndex() { unsigned short int age; Level index; cout << "Введите возраст от 17 до 65: "; cin >> age; //Использование оператора switch недопустимо для анализа диапазонов if (age < 17) index=Rebenok; else if (age >=17 && age < 35) index=Molodoy; else if (age >=35 && age < 50) index=Sredniy; else if (age >=50 && age < 65) index=Pogiloy; else index=Stariy; cout << "Индекс возраста = " << index << endl; return index; } void Print(Level index) { //Использование оператора switch рекомендуется для выбора //одного из множества целых вариантов switch (index) { case Rebenok: cout << "Ребенок!\n"; break; case Molodoy: cout << "Молодой!\n"; break; case Sredniy: cout << "Средний!\n"; break; case Pogiloy: cout << "Пожилой!\n"; break; case Stariy: cout << "Старый!\n"; break; } }
Дата добавления: 2014-01-03; Просмотров: 378; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |