|
0 / 0 / 0
Регистрация: 01.07.2009
Сообщений: 6
|
||||||
Замена goto на адекватный оператор27.10.2010, 21:39. Показов 14699. Ответов 34
Метки нет (Все метки)
Есть приблизительно такой код (условие всередине нескольких циклов, приводить которые не имеет смысла):
При таком раскладе уходит в рекурсию. Можно как-то переписать код без использования оператора goto?
0
|
||||||
| 27.10.2010, 21:39 | |
|
Ответы с готовыми решениями:
34
Оператор Goto и ветвление
Оператор goto в коде под Банкомат |
|
365 / 366 / 167
Регистрация: 11.06.2010
Сообщений: 703
|
|
| 27.10.2010, 21:55 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 01.07.2009
Сообщений: 6
|
|||||||
| 27.10.2010, 22:00 [ТС] | |||||||
![]()
0
|
|||||||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|||||||
| 27.10.2010, 22:43 | |||||||
0
|
|||||||
|
0 / 0 / 0
Регистрация: 01.07.2009
Сообщений: 6
|
|
| 27.10.2010, 22:58 [ТС] | |
|
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 27.10.2010, 23:05 | |
|
а чем отличается от оригинала, я упускаю?
0
|
|
|
0 / 0 / 0
Регистрация: 01.07.2009
Сообщений: 6
|
||
| 27.10.2010, 23:08 [ТС] | ||
0
|
||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 27.10.2010, 23:10 | |
|
это не рекурсия, просто сложная структура, но уж лучше чем с метками
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 27.10.2010, 23:21 | |
|
мб не по теме ... за что так goto все не любят ?)
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 27.10.2010, 23:22 | |
|
KuKu, В нем нет смысла в языке среднего/высокого уровня.
0
|
|
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 27.10.2010, 23:23 | |
|
за то что он усложняет понимание поведения программы, ваш КО
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|||
| 27.10.2010, 23:26 | |||
|
Добавлено через 28 секунд
0
|
|||
|
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
| 27.10.2010, 23:30 | |
|
KuKu,
10 Капитан Очевидность))) 20 Ваш GOTO 10
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 27.10.2010, 23:32 | |
|
ну про усложнение тоже имхо аргумент какой то смутный, все зависит от того как писать. Лично я и без го-ту могу написать, что ничего ясно не будет
0
|
|
|
Модератор
12843 / 7592 / 1766
Регистрация: 25.07.2009
Сообщений: 13,973
|
||
| 27.10.2010, 23:37 | ||
|
1
|
||
|
бжни
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
|
|
| 27.10.2010, 23:40 | |
|
KuKu, спорить бесмысленно, just use it, на своем опыте поймете, то что в программировании поняли лет тридцать назад
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 27.10.2010, 23:46 | |
|
easybudda, ну вы уже в крайность вобще for, while не использовать. Ведь иногда же гораздо проще сделать, к примеру, если входящие данные не такие -> goto EXIT без всяких проверок и тому подобное.
Добавлено через 25 секунд alex_x_x, ну надо же когда то дорасти до программистов 30ти летней давности ... Добавлено через 1 минуту Но я подумал над этим
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 27.10.2010, 23:47 | |
|
KuKu, А return 1? А throw? А exit() в конце концов? оО
0
|
|
|
1563 / 1041 / 94
Регистрация: 17.04.2009
Сообщений: 2,995
|
|
| 27.10.2010, 23:59 | |
|
Lavroff,
- что то вводим если не то goto EXIT - что то делаем если не то goto EXIT - что то выводим - return(0) - :EXIT - что то делаем - return(0) есть подозрение, что если код не мал, то такая схема будет не хуже чем через throw, return и exit и не менее(если не более) наглядна. Тут все решают какие то частности в решение конкретной задаче. P.S. я же обещал, думаю все таки над тем, что готу плох
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 28.10.2010, 00:01 | |
|
KuKu, Что-то вводим если не то
return; Что-то вводим если не то exit; Что-то вводим если не то throw;
0
|
|
| 28.10.2010, 00:01 | |
|
Помогаю со студенческими работами здесь
20
Замена goto C++ Замена goto Использовать оператор перехода GOTO в приведенном коде Заменить оператор goto на цикл, если это возможно Переделать фрагмент кода так, чтобы использовался оператор goto Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|