|
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 7
|
||||||
Прекратить выполнение оператора if13.01.2010, 09:29. Показов 29177. Ответов 23
Метки нет (Все метки)
Возропщем вопрос такой, что можно использовать чтобы прекратить выполнение оператора if перерыл весь инет так и не нашел
к примеру:
0
|
||||||
| 13.01.2010, 09:29 | |
|
Ответы с готовыми решениями:
23
Как прекратить выполнение функции? Как прекратить выполнение апплета? Прекратить выполнение ADOQuery.Insert; |
|
770 / 760 / 59
Регистрация: 06.07.2009
Сообщений: 3,021
|
|
| 13.01.2010, 09:39 | |
|
break; кажется должен работать
0
|
|
|
MCSD: APP BUILDER
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
|
||||||
| 13.01.2010, 09:42 | ||||||
|
Avertus,
0
|
||||||
|
183 / 184 / 55
Регистрация: 08.04.2009
Сообщений: 1,309
|
||||||
| 13.01.2010, 09:44 | ||||||
|
Статья в
Википедии
Оправданное применение
Тем не менее, в практическом программировании применение GOTO в некоторых случаях можно считать допустимым. Поскольку GOTO — «простейший», «атомарный» оператор перехода, а все остальные являются «составными», производными от него, то применение GOTO допустимо и оправданно, когда другие средства языка не реализуют или недостаточно эффективно реализуют нужную функциональность. К таким случаям можно отнести: [править] Выход из нескольких вложенных циклов сразу Обычно считается, что в языках, где операторы досрочного завершения цикла (такие, как break и continue в Си) могут относиться только к тому из вложенных циклов, в котором они расположены, использование goto допустимо, чтобы выйти из нескольких вложенных циклов сразу. Здесь GOTO значительно упрощает программу, избавляя от необходимости создания вспомогательных переменных-флагов и условных операторов. Другие варианты решения этой проблемы — помещение вложенных циклов в отдельную процедуру и использование команды досрочного выхода из процедуры, а в языках с поддержкой исключений — генерацию исключения, обработчик которого располагается за пределами циклов. Однако подобные решения могут снижать производительность, в особенности если этот участок кода вызывается многократно (поскольку и вызовы процедур, и операторы работы с исключениями транслируются далеко не в одну машинную инструкцию). Пример: int matrix[n][m]; int value; ... for(int i=0; i<n; i++) for (int j=0; j<m; j++) if (matrix[i][j] == value) { printf("value %d found in cell (%d,%d)\n",value,i,j); //act if found goto end_loop; } printf("value %d not found\n",value); //act if not found end_loop: ; Прямолинейный способ избавления от GOTO — создать дополнительную переменную-флаг, сигнализирующую, что надо выйти из внешнего цикла (после выхода из внутреннего по break) и обойти блок кода, выполняющийся, когда значение не найдено. Но вряд ли этот способ можно рекомендовать на практике, так как в результате код окажется загромождён проверками, станет длиннее и будет дольше работать. Но можно вынести код в функцию и использовать return. http://ru.wikipedia.org/wiki/GOTO
0
|
||||||
|
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
|
||||||
| 13.01.2010, 10:33 | ||||||
|
э-э-э-э...
ну, мне кажется, для прекращения выполнения оператора должна быть причина. а причина описывается оператором if(). и получается вложенный if:
0
|
||||||
|
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 7
|
||||||||
| 13.01.2010, 21:24 [ТС] | ||||||||
|
error C2043: illegal break и с goto тоже ругается и вопще мне казлось goto желательно не использовать. что бы неломать голову тут некому вот эта чатсть
0
|
||||||||
|
62 / 63 / 3
Регистрация: 25.05.2009
Сообщений: 520
|
|
| 13.01.2010, 21:44 | |
|
тебе тут else вообще не нужно
если сработал хоть один if за ним следует return. если ни один не сработал - тогда "not found" без всяких else
0
|
|
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
| 13.01.2010, 22:11 | |
|
Дабы не порождать тонны кода, может быть, лучше загнать в массив структур (char*; void(*)()) и циклом искать?
1
|
|
|
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 7
|
||
| 13.01.2010, 22:40 [ТС] | ||
|
0
|
||
|
62 / 63 / 3
Регистрация: 25.05.2009
Сообщений: 520
|
|
| 13.01.2010, 22:55 | |
|
0
|
|
|
MCSD: APP BUILDER
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
|
|
| 14.01.2010, 01:47 | |
|
Avertus,
на break он ругается error C2043: illegal break значит ты сделал что-то не так. потому что break - он простой как удар лопатой.
1
|
|
|
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 7
|
||
| 14.01.2010, 21:31 [ТС] | ||
|
Тока встала новая проблема вместе с if() он из for выкидывает
0
|
||
|
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
|
|
| 14.01.2010, 22:53 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 7
|
||
| 15.01.2010, 08:33 [ТС] | ||
break не канает пробовал в отделюную процедуру это вынести и использовать return тоже не помогло
0
|
||
|
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 5
|
|
| 15.01.2010, 15:39 | |
|
Киньте в меня тапком, а switch использовать что не позволяет ?
0
|
|
|
0 / 0 / 0
Регистрация: 13.01.2010
Сообщений: 7
|
|
| 15.01.2010, 15:45 [ТС] | |
|
0
|
|
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
||
| 15.01.2010, 22:27 | ||
|
А вот что не позволяет использовать https://www.cyberforum.ru/showthread.php?p=477682 ?
0
|
||
|
62 / 63 / 3
Регистрация: 25.05.2009
Сообщений: 520
|
||
| 15.01.2010, 23:01 | ||
|
break прерывает и выходит из for. continue прерывает следующие за ним операции и продолжает цикл с обновленным счетчиком.
0
|
||
|
0 / 0 / 0
Регистрация: 15.01.2010
Сообщений: 5
|
||
| 16.01.2010, 22:28 | ||
|
Если вас не устраивает предложенный вариант вот ещё один: добавить флаг. В каждом теле оператора if рисуем приравнивание флага к 1, потом добовляем проверку флага тем же if'ом, пишем, что команда некорректна и обнуляем флаг, вот и всё.
0
|
||
| 16.01.2010, 22:28 | |
|
Помогаю со студенческими работами здесь
20
прекратить выполнение зациклившейся программы Как прекратить выполнение асинхронного метода По нажатию кнопки прекратить выполнение прерывания 1Ch Оператор, с помощью которого можно прекратить выполнение цикла...
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки на предмет заполнения реквизитов реализован с целью установки значения по умолчанию,. . .
|
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
На примере нетипового документа разработанного в конфигурации КА2.
В качестве источника данных указан регистр накопления, в который записываются данные о. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|