|
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
|
||||||
Возникла проблема со switch16.11.2014, 16:33. Показов 1235. Ответов 17
Метки нет (Все метки)
возникла проблема.
0
|
||||||
| 16.11.2014, 16:33 | |
|
Ответы с готовыми решениями:
17
Реализации МП транслитератора - возникла проблема
|
|
11 / 11 / 10
Регистрация: 16.12.2013
Сообщений: 66
|
||||||
| 16.11.2014, 16:49 | ||||||
|
Сомневаюсь в оптимальности своего способа, однако (чуть переделал программу для ясности понимания):
1
|
||||||
|
30 / 30 / 35
Регистрация: 05.11.2014
Сообщений: 120
|
|||||||||||
| 16.11.2014, 16:52 | |||||||||||
|
Вообще конечно вам обязательно возвращаться в case 1? Если код небольшой просто скопируйте его в case 3. А так есть вариант:
1
|
|||||||||||
|
|
|
| 16.11.2014, 16:59 | |
|
case "1" - такое недопустимо, т.к. у case могут быть только целочисленные константы
Чтобы вернуться - проще всего использовать goto, т.к. этот вариант будет куда более наглядным, чем цикл с флагом. Ну или можно написать так, но такой код будет читать сложнее, чем вариант с goto (но, скорее всего, проще, чем код с циклом): C++ switch(c) { case 3: cout<<y; if(a==b) { case 1: cout<<"x"; a=b; if(...) } break; case 2: cout<<"z"; if(..) cout<<".."; break; }
1
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||||||
| 16.11.2014, 17:02 | ||||||
|
http://rextester.com/IHU11085
0
|
||||||
|
|
|
| 16.11.2014, 17:08 | |
|
hoggy, говоря про goto, я имел в виду совсем не то. Твои махинации с "--c" сильно усложняют понимание, к тому же они и не нужны. Я имел в виду:
C++ switch(c) { case 1: lab10: cout<<"x"; break; case 2: cout<<"z"; break; case 3: cout<<"jump!\n"; goto lab10; }
0
|
|
|
11 / 11 / 10
Регистрация: 16.12.2013
Сообщений: 66
|
|
| 16.11.2014, 17:12 | |
|
Evg, А мой способ имеет право на жизнь, или в нем что-то не так?
0
|
|
|
30 / 30 / 35
Регистрация: 05.11.2014
Сообщений: 120
|
|
| 16.11.2014, 17:17 | |
|
goto конечно хорош, но если есть возможность избежать его использования, лучше ей воспользоваться. Но, как говориться, хозяин - барин.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||
| 16.11.2014, 17:17 | |||
|
И даже не подозревал о его существовании. Поэтому у меня не было возможности думать о том, что именно вы имели ввиду. Махинация понадобилось для того, что бы онлайн компилятор не зациклился.
0
|
|||
|
|
||||
| 16.11.2014, 17:31 | ||||
|
Не по теме:
1
|
||||
|
30 / 30 / 35
Регистрация: 05.11.2014
Сообщений: 120
|
|
| 16.11.2014, 17:39 | |
|
Ну, в кишку превращать конечно не стоит. Но как по мне, goto как раз и убивает читабельность кода. ИМХО.
0
|
|
|
11 / 11 / 10
Регистрация: 16.12.2013
Сообщений: 66
|
|
| 16.11.2014, 17:40 | |
|
Yan12_04, http://habrahabr.ru/post/114211/
0
|
|
|
|
|
| 16.11.2014, 17:42 | |
|
Yan12_04, ты считаешь код
C++ bool Proverka=false; while(Proverka!=true) { switch(c) { case "1":cout<<"x";a=b; Proverka=true;if(...) case "2":cout<<"z"; Proverka=true; if(..) cout<<".." case "3":cout<<y;Proverka=true; if(a==b) Proverka=false; c=1; } } C++ switch(c) { case "1":L:cout<<"x";a=b;if(...) case "2":cout<<"z";if(..) cout<<".." case "3":cout<<y;if(a==b) goto L; }
1
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 16.11.2014, 17:47 | |
|
0
|
|
|
30 / 30 / 35
Регистрация: 05.11.2014
Сообщений: 120
|
|
| 16.11.2014, 18:02 | |
|
Evg, я считаю что они одинаково читабельны. А значит, я лучше воспользуюсь while, чем goto.
Добавлено через 4 минуты Blagodetel, я не призываю отказаться от goto. Мне без разницы, чем вы пользуетесь у себя в коде. Я просто высказал свое мнение, ибо научен собственным опытом. Поэтому написан оба способа, пускай человек сам выберет, каким способом решать проблему.
0
|
|
| 16.11.2014, 18:03 | ||
|
Не по теме:
0
|
||
|
30 / 30 / 35
Регистрация: 05.11.2014
Сообщений: 120
|
|
| 16.11.2014, 18:08 | |
|
Как раз этот "плохой опыт" с goto, был получен в следствии чтения чужого кода.
0
|
|
|
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248
|
|
| 16.11.2014, 22:16 [ТС] | |
|
спасибо всем!))
0
|
|
| 16.11.2014, 22:16 | |
|
Помогаю со студенческими работами здесь
18
Проблема со switch/case У меня возникла проблема с программой, окно задерживается на 1 секунду и исчезает, на других версиях Microsoft Express тоже самое
После компиляции при выполнении возникла проблема. Возникла проблема с созданием таблиц баз данных Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|
|
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица.
Задача: зафиксировать три левых колонки в отчете.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
/ / . . .
|
Настройки VS Code
Loafer 13.04.2026
{
"cmake. configureOnOpen": false,
"diffEditor. ignoreTrimWhitespace": true,
"editor. guides. bracketPairs": "active",
"extensions. ignoreRecommendations": true,
. . .
|
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2.
Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива.
Было так:. . .
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|