Форум программистов, компьютерный форум, киберфорум
Наши страницы

Выйти из нескольких функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при заполнении массива http://www.cyberforum.ru/cpp-beginners/thread1062147.html
Помогите пожалуйста решить проблему: Это программа для игры в крестики нолики. В первой функции void instruction() необходимо вывести массив и в задумке надо что бы массив заполнялся символами от...
C++ Разработать функцию, позволяющую поменять местами две произвольные строки матрицы Имеется код: #include <iostream> #include <stdio.h> using namespace std; char **s = new char* , *t; int i, j, n; int main() { for(i=0; i<10; i++) http://www.cyberforum.ru/cpp-beginners/thread1062144.html
C++ Найти сумму всех положительных чисел и записать ее в начало файла
Создать текстовый файл, содержащий числовую информацию. Найти сумму всех положительных чисел и записать ее в начало файла. Дополнительных массивов и файлов не использовать
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содер-жится в ней C++
Ввести две символьных строки. Выполнить поиск второй строки в первой и вывести номер позиции первой строки, с которой вторая строка содержится в ней. Новых строк не создавать. Строку до и после...
C++ Транспонировать квадратную матрицу, используя только оператор for. Новой матрицы не создавать. Вывести исходную и транспониро-ванную матрицы http://www.cyberforum.ru/cpp-beginners/thread1062121.html
Транспонировать квадратную матрицу, используя только оператор for. Новой матрицы не создавать. Вывести исходную и транспониро-ванную матрицы. // z1.cpp: главный файл проекта. #include...
C++ Драйвер на с++ Есть просьба, кто может, скинте исходник драйвера клавы или мыши на с++. Заранее спасибо. подробнее

Показать сообщение отдельно
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
03.01.2014, 11:16  [ТС]
Tulosba, ой, плохой пример привел.
Немного отредактирую:
функция возвращает bool, если взяла на себя работу и false, если не может обработать некоторые данные. Выпрыгнуть из всей рекурсии надо тогда, когда данные удовлетворяют некоторому условию. Не имеет разницы, что вернут функции (и вернут ли они вообще что-то) в этом случае.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
bool f1()
{
/*что-то, что решает, может ли функция обработать данные и, если может, обрабатывает и возвращает true*/
return f2();
}
bool f2()
{
/*что-то, что решает, может ли функция обработать данные и, если может, обрабатывает и возвращает true*/
if (..) //ни f1, ни f2 не могут обработать данные, выпрыгиваем, иначе бесконечная рекурсия
goto HERE;
return f1();
}
int main()
{
f1();
HERE:
doSomethingElse();
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru