4 / 4 / 0
Регистрация: 07.01.2011
Сообщений: 15
1

Оптимальная конструкция switch-case-while / while-switch-case

03.03.2012, 20:14. Показов 4982. Ответов 2
Метки нет (Все метки)

Имеется конструкция типа:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
switch()
{
    case 1:
    while()
    {
    ...
    }
    case 2:
    while()
    {
    ...
    }
    ...
    case 7:
    while()
    {
    ...
    }
}
в каждом из кейсов код на 98% дублирует друг друга.

Будет ли оптимальней сделать так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
while()
{
    switch()
    {
    case 1:
    ...
 
    ...
 
    case 7:
    ...
    }
}
т.е сделать общий цикл, а в кейсах оставить код который не дублируется.

В 1 варианте код получается очень большим, во 2 на каждой итерации цикла будет заново вызываться конструкция switch-case

Посоветуйте, какой вариант оптимальней.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.03.2012, 20:14
Ответы с готовыми решениями:

Оптимизируется ли компилятором конструкция switch-case? Работа со строками через ID объекта или hash
Добрый вечер, 1) Определён ли порядок выбора switch (согласно стандарта кажись неопределён, но...

Switch case внутри switch case
Привет всем! Нужна помощь. Пишу калькулятор с консольным меню. Так вот, используется цикл...

switch-case, как писать в самом case
Такс дело вот в чём,прога работает всё хорошо,вот только мне не нравится как записваю страны в...

switch и case
Пишет, что switch не содержит case, но судя по коду - это не так... как же заставить его видеть...

2
Каратель
Эксперт С++
6606 / 4025 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
03.03.2012, 20:16 2
Цитата Сообщение от t1maaa Посмотреть сообщение
Посоветуйте, какой вариант оптимальней.
2-й вариант лучше в плане восприятия кода другим человеком
0
80 / 80 / 19
Регистрация: 07.05.2009
Сообщений: 316
03.03.2012, 20:20 3
Первый наверно быстрее будет, а если ещё содержимое цикла разбить на на функции, то будет ещё и короче.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.03.2012, 20:20
Помогаю со студенческими работами здесь

Switch - case
Обязательно с использованием классов Есть задача. Дан массив вещественных чисел. а) Ко всем...

Switch-case
Можно ли так писать? switch (simvol) { case (('(') or ('1') or ('2') or ('3') or ('4')...

switch case
как в блок-схеме изображается switch case?

Switch, case
Здравствуйте, подскажите пожалуйста, что здесь может быть не так, у меня большинство у одинаковые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru