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

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

Войти
Регистрация
Восстановить пароль
 
miragex
1 / 1 / 0
Регистрация: 11.07.2012
Сообщений: 138
#1

Выход из программы из любого места - C++

08.01.2013, 22:02. Просмотров 480. Ответов 11
Метки нет (Все метки)

Добрый вечер
Столкнулся с такой проблемой
Требуется завершить программу из функции
Но получается что return завершает функцию, но программа продолжает работать
Какую функцию использовать чтобы программа завершалась сразу после команды на завершения с любого места

Спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2013, 22:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выход из программы из любого места (C++):

Выход по Esc из любого места программы - C++
Привет! Изучаю С++ на примере создания консольной программы. Типа - ввели данные, вывели данные. Вопрос - а как выйти из...

Изменение ProgressBar диалогового окна из любого места - C++
Программирую на Визуале только 3 месяца, и не до всего могу сама докопаться. Подскажите кто может. При выборе пункта меню необходимо...

выход из программы - C++
как выйти досрочно из программы если я например нахажусь в функции а мне сразу надо выйти.return не поможет.

Выход из программы - C++
Не смог я сформулировать правильно в гугле запрос, но надеюсь меня тут поймут. Не подскажите функцию, вот когда на крестик нажимаешь...

Выход из программы - C++
Доброго времени суток, это опять я:) Дописал программу, которая вычисляет произведение матрицы на вектор. Фишка программы заключается в...

Выход из программы - C++
Возможно, глупый вопрос, но как сделать выход из программы? Хочется сделать закрытие программы не из главной функции. К примеру: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Psilon
Master of Orion
Эксперт .NET
5888 / 4785 / 633
Регистрация: 10.07.2011
Сообщений: 14,405
Записей в блоге: 5
Завершенные тесты: 4
08.01.2013, 22:05 #2
miragex, поделите на ноль, он вам с радостью все грохнет. А еще можно goto написать.
miragex
1 / 1 / 0
Регистрация: 11.07.2012
Сообщений: 138
08.01.2013, 22:17  [ТС] #3
Цитата Сообщение от Psilon Посмотреть сообщение
miragex, поделите на ноль, он вам с радостью все грохнет. А еще можно goto написать.
Да, прикольно, только вот Компилятор не компилирует: 163 [Warning] division by zero in `5 / 0'
Psilon
Master of Orion
Эксперт .NET
5888 / 4785 / 633
Регистрация: 10.07.2011
Сообщений: 14,405
Записей в блоге: 5
Завершенные тесты: 4
08.01.2013, 22:19 #4
miragex, Покажите, как выглядит функция и кусок вызывающего кода
v.a.l.i.d
412 / 377 / 10
Регистрация: 21.09.2012
Сообщений: 913
08.01.2013, 22:21 #5
Можно проще сделать:
C++
1
exit(0);
Psilon
Master of Orion
Эксперт .NET
5888 / 4785 / 633
Регистрация: 10.07.2011
Сообщений: 14,405
Записей в блоге: 5
Завершенные тесты: 4
08.01.2013, 22:30 #6
v.a.l.i.d, ну да
Как-то забыл.
miragex
1 / 1 / 0
Регистрация: 11.07.2012
Сообщений: 138
08.01.2013, 22:31  [ТС] #7
Код
#include<iostream>
#include <conio.h>
 
const int ESC = 27;
const int SPACE = 32;
 
void outPro(); 
int i = 1;
     
int main()
{
    while (1)
    {
        outPro();          
        printf("Program is running-%d\n",i); 
        i++;
    } 
    return 0;
}

void outPro()
{
    if (kbhit())
    {
        if (getch()==ESC)
        {
              return;
              i=1;
        }
    }
}
Идея заключается в том чтобы по ESC завершить программу
Psilon
Master of Orion
Эксперт .NET
5888 / 4785 / 633
Регистрация: 10.07.2011
Сообщений: 14,405
Записей в блоге: 5
Завершенные тесты: 4
08.01.2013, 22:32 #8
miragex, смысл выделять целую функцию для этого?..
Euroman
27 / 23 / 1
Регистрация: 11.12.2012
Сообщений: 448
08.01.2013, 22:32 #9
Попробуйте break;
может получится
Psilon
Master of Orion
Эксперт .NET
5888 / 4785 / 633
Регистрация: 10.07.2011
Сообщений: 14,405
Записей в блоге: 5
Завершенные тесты: 4
08.01.2013, 22:34 #10
Ну а так...
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include<iostream>
#include <conio.h>
 
const int ESC = 27;
const int SPACE = 32;
 
int main()
{    
    for(int i = 0;getchar() != ESC; i++)          
        printf("Program is running-%i\n",i);     
    return 0;
}
miragex
1 / 1 / 0
Регистрация: 11.07.2012
Сообщений: 138
08.01.2013, 22:35  [ТС] #11
Цитата Сообщение от Psilon Посмотреть сообщение
miragex, смысл выделять целую функцию для этого?..
Ну это как бы не вся программа
Там нужно в нескольких местах это вытворять
Ну я и решил написсать одну функцию для этого, но получается что завершается только она
Psilon
Master of Orion
Эксперт .NET
5888 / 4785 / 633
Регистрация: 10.07.2011
Сообщений: 14,405
Записей в блоге: 5
Завершенные тесты: 4
08.01.2013, 22:37 #12
C++
1
2
3
4
5
void exitIfEscape(char c)
{
   if (c == ESC)
      exit(0);
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2013, 22:37
Привет! Вот еще темы с ответами:

выход из программы - C++
какой оператор закрывает программу, и библиотеку которую он использует. буду очень признателен. заранее спасибо)

Выход из программы - C++
Доброго времени суток полуночникам! Есть код, и мне нужно если на if(f1==0 &amp;&amp; s1==0) ,будет значение тру что бы вышло из программы...

Принудительный выход из программы - C++
Привет! У меня такая проблемка: есть программа в которой реализовано главное меню(имеется цикл while а внутри цикла реализован switch) ...

Enter = выход из программы - C++
Помогите, пожалуйста. Как, что-бы при вводе c клавиатуры кнопки Enter программа закрывалась?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
08.01.2013, 22:37
Ответ Создать тему
Опции темы

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