русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Теоретические сведения


Дата добавления: 2015-07-04; просмотров: 489; Нарушение авторских прав


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

Отметим, что в теле оператора-переключателя switch можно использовать вложенные операторы switch, при этом в ключевых словах case можно использовать одинаковые метки.

Например:

switch (w)

{

case 1: b=c; break; /* если переменная w=1, то b=c */

case 2:

switch (d) {

case 0: f=s; break; /* если w=2 и d=0 */

case 1: f=9; break; /* если w=2 и d=1 */

case 2: f-=9; break; /* если w=2 и d=2 */

}

break;

case 3: b-=c; break; /* если переменная w=3, то b=b-c */

}

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

Пример 1. Составьте программу для печати приветствия на английском языке.

1 вариант

Часы суток Номер интервала Приветствие
22 – 3 интервал 1 Good Night!
4 – 10 интервал2 Good Morning!
11 – 14 интервал 3 Good Day!
15 – 16 интервал 4 Good Afternoon!
17 – 21 интервал 5 Good Evening!

 

#include <stdio.h>

void main () {

int time;

printf("Введите время (от 0 до 24): ");

scanf("%d",&time);

switch(time < 0 ? 0:

time < 4 ? 1:

time < 11 ? 2:

time < 15 ? 3:

time < 17 ? 4:

time < 22 ? 5:

time < 24 ? 1 : 0){

case 1: printf("Good Night!"); break;

case 2: printf("Good Morning!"); break;

case 3: printf("Good Day!"); break;



case 4: printf("Good Afternoon!"); break;

case 5: printf("Good Evening!"); break;

default: printf("Error!");

}

}

В соответствии со смыслом задачи и целочисленностью переменной time (используются только часы, минуты не учитываются) каждому интервалу соответствует конечное и не слишком большое количество значений. Их можно явно использовать в виде констант, входящих в case.Таким образом, решить данную задачу можно, используя несколько меток ветви переключателя.

Пример 2: Составьте программу для печати приветствия на английском языке. 2 вариант.

#include <stdio.h>

void main () {

int time;

printf("Введите время (от 0 до 24): ");

scanf("%d",&time);

switch(time){

case 22: case 23: case 24: case 0: case 1: case 2: case 3:

printf("Good Night!"); break;

case 4: case 5: case 6: case 7: case 8: case 9: case 10:

printf("Good Morning!"); break;

case 11: case 12: case 13: case 14:

printf("Good Day!"); break;

case 15: case 16:

printf("Good Afternoon!"); break;

case 17: case 18: case 19: case 20: case 21:

printf("Good Evening!"); break;

default: printf("Error!");

}

}



<== предыдущая лекция | следующая лекция ==>
Домашние задания | Задания


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.055 сек.