Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_3.doc
Скачиваний:
4
Добавлен:
16.11.2018
Размер:
984.58 Кб
Скачать

2.5. Оператор множественного выбора switch

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

Рассмотрим синтаксический блок оператора switch.

Switch (<Выражение для switch>)

case <Константное выражение> :

< Оператор1>;

< Оператор2>;

...

< Оператор break>

case <Константное выражение> :

< Оператор1>;

< Оператор2>;

...

< Оператор break>

...

default:

< Оператор1>;

< Оператор2>;

...

< Оператор break>

<Выражение для switch> - это управляющее выражение.

сase, default – называются разделами выбора.

<Константное выражение> - следует за ключевым словом case и называется case-значением или case-меткой. Причем, каждая из них должна быть уникальной.

< Оператор break> - используется для завершения раздела выбора.

Примечание:

Количество блоков case не ограничено.

Блок default может быть один или не одного.

Пример 2.5. Решить пример 2.4., с использованием оператора switch.

using System;

class Program

{

static void Main(string[] args)

{

decimal a, b;

string operation;

// Ввод данных с клавиатуры

Console.WriteLine("Введите два числа");

a = Decimal.Parse(Console.ReadLine());

b = Decimal.Parse(Console.ReadLine());

// Ввод названия операции с клавиатуры

Console.WriteLine("Введите название операции: ");

operation = Console.ReadLine();

// Начало блока switch.

switch (operation)

{

// Начало раздела operation=="Сумма"

case "Сумма":

Console.WriteLine("Сумма а = {0} и в = {1} равна: {2}", a, b, a + b);

break;

// Конец раздела operation=="Сумма"

// Начало раздела operation=="Разность"

case "Разность":

Console.WriteLine("Разность а = {0} и в = {1} равна: {2}", a, b, a - b);

break;

// Конец раздела operation=="Разность"

// Начало раздела operation=="Произведение"

case "Произведение":

Console.WriteLine("Произведение а = {0} и в = {1} равно: {2}", a, b, a * b);

break;

// Конец раздела operation=="Произведение"

// Начало раздела operation=="Частное"

case "Частное":

Console.WriteLine("Частное а = {0} и в = {1} равно: {2}", a, b, a / b);

break;

// Конец раздела operation=="Частное"

// Начало раздела default, который выполняется в случае если совпадений не обнаружено

default:

Console.WriteLine("Ошибка ввода операции");

break;

}

//Конец блока switch

Console.ReadLine();

} }

}

Рис.2.11. Результат работы программы из примера 3.4., выполненной при помощи оператора switch

Идея работы блока довольна проста. Разделы выбора заменяют условный оператор if, а блок default выполняет функцию else. Стоит обратить внимание на оператор break. Его задачей является завершение раздела выбора. После того как срабатывает оператор break в блоке раздела «Сумма», программа более на проверяет другие разделы оператора switch, а переходит к оператору следующему за блоком switch т.е. к оператору Console.ReadLine().

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]