Объявление

#1 2006-01-16 14:02:45

cer.L.A.n
Участник
Откуда: Moscow
Зарегистрирован: 2005-12-13
Профиль  Вебсайт

C++

А что можете рассказать об операторе switch в С++ ? Очень надо!! smile


AMD Athlon64 X2 4400+@2797MHz Vcore=1,52v, ASUS A8N-SLI Premium, bios 1007, 2x512 MB DDR400 Samsung Original (2,5-3-3-8-1T), 256 MB PowerСolor X550XT, WD 80Gb, Thermaltake Purepower 480W (W0043), корпус Colors-It G8015C-B39.

Неактивен

 

#2 2006-01-16 14:12:37

head
Участник
Зарегистрирован: 2005-11-26
Профиль

Re: C++

Как вы уже знаете, комбинируя серии операторов if-else, программы могут проверять несколько условий. В предыдущей программе использовались операторы if-else, чтобы определить, находятся ли тестовые очки в данном диапазоне значений. В тех случаях, когда вашим программам необходимо осуществить проверку определенных значений, они могут использовать оператор C++ switch.

Если вы используете оператор switch, вы должны указать условие и затем один или несколько вариантов (case), которые программа попытается сопоставить с условием. Например, следующая программа SWITCH.CPP использует оператор switch для вывода сообщения, основываясь на текущей оценке студента:

Код:


    #include <iostream.h>

    void main(void)

    {
       char grade = 'В';
       switch (grade)

          {
              case 'A': cout << "Поздравляем, вы получили А" << endl; break;
              case 'В': cout << "Хорошо, у вас В" << endl; break;
              case 'С': cout << "У вас всего лишь С" << endl; break;
              case 'D': cout << "Плохо, у вас D" << endl; break;
              default: cout << "Ужасно! Учите лучше!" << endl; break;
        }
    }

Оператор switch состоит из двух частей. Первая часть оператора switch представляет собой условие, которое появляется после ключевого слова switch. Вторая часть представляет собой возможные варианты соответствия. Когда программа встречает оператор switch, она сначала исследует условие, а затем пытается найти среди возможных вариантов тот, который соответствует условию. Если программа находит соответствие, выполняются указанные операторы. Например, в предыдущей программе выбор варианта 'В' соответствует условию. Таким образом, программа выводит сообщение, что пользователь получил В. Найдите время для эксперимента с этой программой, изменяя оценку и наблюдая поведение программы. Если же ни один из указанных вариантов не соответствует условию, то выполняется вариант default.

Обратите внимание на использование оператора break в каждом варианте предыдущей программы. Оказывается, если C++ встречает вариант, соответствующий условию оператора switch, то он подразумевает, что все последующие варианты тоже соответствуют условию. Оператор break указывает C++ завершить текущий оператор switch и продолжить выполнение программы с первого оператора, следующего за оператором switch. Если вы удалите операторы break из предыдущей программы, то программа выведет не только требуемое сообщение, но и сообщение для всех последующих вариантов (потому что если один вариант является истинным, то и все последующие варианты в C++ рассматриваются как истинные).


Athlon 64 @ 2500 MHz, 1024Mb Hynix D43 @ 454 MHz (2.5-3-3-6), 200Gb WD SATA2.

Неактивен

 

#3 2006-01-16 14:16:38

ZnipeR
администратор
Откуда: Санкт-Петербург
Зарегистрирован: 2005-11-21
Профиль  Вебсайт

Re: C++

[off:673c87deb9]тут я пас[/off:673c87deb9]

Неактивен

 

#4 2006-01-16 14:19:07

cer.L.A.n
Участник
Откуда: Moscow
Зарегистрирован: 2005-12-13
Профиль  Вебсайт

Re: C++

head
Спасибо!! smile


AMD Athlon64 X2 4400+@2797MHz Vcore=1,52v, ASUS A8N-SLI Premium, bios 1007, 2x512 MB DDR400 Samsung Original (2,5-3-3-8-1T), 256 MB PowerСolor X550XT, WD 80Gb, Thermaltake Purepower 480W (W0043), корпус Colors-It G8015C-B39.

Неактивен

 

#5 2006-01-16 14:20:47

head
Участник
Зарегистрирован: 2005-11-26
Профиль

Re: C++

cer.L.A.n
пож-та, и всё?


Athlon 64 @ 2500 MHz, 1024Mb Hynix D43 @ 454 MHz (2.5-3-3-6), 200Gb WD SATA2.

Неактивен

 

#6 2006-01-16 14:22:50

cer.L.A.n
Участник
Откуда: Moscow
Зарегистрирован: 2005-12-13
Профиль  Вебсайт

Re: C++

пож-та, и всё?

Ну можно еще об операторах выбора!!


AMD Athlon64 X2 4400+@2797MHz Vcore=1,52v, ASUS A8N-SLI Premium, bios 1007, 2x512 MB DDR400 Samsung Original (2,5-3-3-8-1T), 256 MB PowerСolor X550XT, WD 80Gb, Thermaltake Purepower 480W (W0043), корпус Colors-It G8015C-B39.

Неактивен

 

#7 2006-01-16 15:57:18

Unforgiven
Участник
Откуда: Ухта
Зарегистрирован: 2005-11-22
Профиль

Re: C++

По поводу таких вещей советую смотреть в MSDN. Очень исчерпывающе, правда на английском.


За сим удаляюсь...

Неактивен

 

Board footer

Работает на PunBB

Для создания стринцы потребовалось 0.043 сек. и 10 SQL запросов