Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 64, средняя оценка - 4.61
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
#1

Как вернуться в начало программы??? - C++

10.10.2010, 14:58. Просмотров 9944. Ответов 27
Метки нет (Все метки)

Как сделать так, чтобы при наступления какого-либо условия программа прерывалась и начаналась заново???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
10.10.2010, 15:01     Как вернуться в начало программы??? #2
Ну, например, засунуть всё в цикл и при наступлении условия сделать continue)
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
10.10.2010, 15:02     Как вернуться в начало программы??? #3
Бесконечный цикл допустим.
Или цикл do while.
Или просто while с определенным условием.

Например

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
int main()
{
    while(1)
    {
        int a=0;
        std::cin>>a;
        if(a!=5)
           continue;
        std::cout<<a<<'\n';
        break;
    }
    return 0;
}
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
10.10.2010, 15:03  [ТС]     Как вернуться в начало программы??? #4
Но программа же снова не начнется, просто прервется и все.

Добавлено через 44 секунды
на С программа, С++ не понимаю
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
10.10.2010, 15:04     Как вернуться в начало программы??? #5
3 вaриант:
C++
1
goto
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
10.10.2010, 15:04     Как вернуться в начало программы??? #6
KamalovRadik, while и continue будут и в C работать)
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
10.10.2010, 15:05     Как вернуться в начало программы??? #7
dihlofos, Ну и тогда програма вийдет из етого цыкла но не и продолжыт виполнение кода который наисан уже после етого цыкла.

К примеру можно код засунуть в бесконечный цыкл и пры какомто условие написать continue;

Добавлено через 1 минуту
PointsEqual, тоже вариант,но пользоватсо без фанатизма
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
10.10.2010, 15:06  [ТС]     Как вернуться в начало программы??? #8
На примере можно???
While(1) - это бесконечный цикл?
dihlofos
10.10.2010, 15:09
  #9

Не по теме:

Asics^, да я сам уже догнал, что бяку сначала написал) Поправил уже.

asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
10.10.2010, 15:09     Как вернуться в начало программы??? #10
Цитата Сообщение от KamalovRadik Посмотреть сообщение
While(1) - это бесконечный цикл?
Да,или же while(true)
KamalovRadik
7 / 7 / 2
Регистрация: 10.07.2009
Сообщений: 206
10.10.2010, 15:12  [ТС]     Как вернуться в начало программы??? #11
А если continue вставить, и условие обратное написать ничего же не получится, просто прервется и все
asics
Freelance
Эксперт С++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
10.10.2010, 15:14     Как вернуться в начало программы??? #12
Пример использования:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
    long int a, b;
    for(;;)
    {
           cout << "Bedute 4uclo: ";
           cin >> a;
           cout << "Bedute deluTeLb: ";
           cin >> b;
           if(b == 0)
           {
              cout << "ERROR(HeLb39 deluTb Ha <0>)" << endl;
              continue;     
           }
           cout << "Result: " << a << " / " << b << " = " << a / b << endl;
           cout << "Octatok ot DeleHue: " << a % b << endl;
           break;
    }
getch();
return 0;    
}
Заметка: for( ; ; ) - тоже бесконечный.
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
10.10.2010, 15:14     Как вернуться в начало программы??? #13
KamalovRadik, а так пойдет?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
int main()
{
    while( true ){
        cout<<"Restart program"<<endl;
        int k = 0;
        int s = 0;
        while( true ){
            cout<<"Enter number: ";
            cin >> k;
 
            s += k;
 
            if (s>10) break;
        }
 
    }
 
 
    return 0;
}
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 320
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
10.10.2010, 15:14     Как вернуться в начало программы??? #14
KamalovRadik, continue - переводит цикл к следующей итерации
break - прекращает выполнение цикла.
Что вам конкретно нужно?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2010, 15:17     Как вернуться в начало программы???
Еще ссылки по теме:
Возвращение в начало программы из функции C++
Как вернуться к началу компиляции после выполнения какой либо функции? C++
C++ Как через goto вернуться назад, чтоб еще раз проверить функцию?
C++ В конце программы условие, которое возвращает в начало
Арканоид. Вернуться в исходное состояние. C++

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

Или воспользуйтесь поиском по форуму:
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
10.10.2010, 15:17     Как вернуться в начало программы??? #15
KamalovRadik, тот же пример Lavroff'а, только на C:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
 
int main()
{
    while(true)
    {
        int a=0;
        scanf("%d",&a);
        if(a!=5)
           continue;
        printf("%d\n",a);
        break;
    }
    return 0;
}
Будет возвращаться к началу, пока не введём 5.
Yandex
Объявления
10.10.2010, 15:17     Как вернуться в начало программы???
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru