
C/C++
C++. Есть ли функция для завершения работы программы (аналог goto в самый конец программы)?
Нужно пропустить все, что идет от if до конца int main()


http://www.cplusplus.com/reference/cstdlib/exit/
Но это не аналог goto в конец main. exit сразу завершает процесс. А при переходе в конец main будут вызываться деструкторы объектов (если требуется).
Для выхода из main есть обычный оператор
return 0;
В main лучше использовать return, а не exit.
exit завершит программу в любом случае, даже если его вызвать не из main.
Ещё есть вариант: выбросить исключение (throw). Это в случае ошибки, для аварийного завершения программы.
Но это не аналог goto в конец main. exit сразу завершает процесс. А при переходе в конец main будут вызываться деструкторы объектов (если требуется).
Для выхода из main есть обычный оператор
return 0;
В main лучше использовать return, а не exit.
exit завершит программу в любом случае, даже если его вызвать не из main.
Ещё есть вариант: выбросить исключение (throw). Это в случае ошибки, для аварийного завершения программы.
Денис Шелудько
как вариант return
exit(0)
В int main то же сделает return 0;
А числа могут быть только <, > или ==, проверка на что-то иное не имеет смысла.
#include "iostream"
#include "cmath"
using namespace std;
int main(){
int a,b; cout<<"a b: "; cin>>a>>b;
for(int i=fmin(a,b);i<=fmax(a,b);i++)cout<< i<<' ';}
А числа могут быть только <, > или ==, проверка на что-то иное не имеет смысла.
#include "iostream"
#include "cmath"
using namespace std;
int main(){
int a,b; cout<<"a b: "; cin>>a>>b;
for(int i=fmin(a,b);i<=fmax(a,b);i++)cout<< i<<' ';}
Роман *****
На случай, если я введу буквы. Хотя реагирует на такой ввод программа криво. Если в первую переменную писать, то ошибку (else) видит, а если во вторую, то присваивает второй переменной ноль и продолжает выполнение. Спасибо за fmin и fmax, сильно сокращает код.
Хушнид Шакаров
Тогда так:
int main(){
int a,b; cout<<"a b: "; if(cin>>a>>b)
for(int i=fmin(a,b);i<=fmax(a,b);i++)std::cout<< i<<' ';}
int main(){
int a,b; cout<<"a b: "; if(cin>>a>>b)
for(int i=fmin(a,b);i<=fmax(a,b);i++)std::cout<< i<<' ';}
Хушнид Шакаров
std:: тут не нужен, забыл выкинуть
Хушнид Шакаров
min находится в "algorithm". а fmin - в "cmath". Я предпочитаю по возможности использовать более обычный header, особенно для начинающих :)
goto есть в с++.
в общем я супер гений и не так прочитал вопрос да и хрен с ним.
если тебе нужно просто пропустить с if до конца все,
то до начала if код выхода из программы.
если тебе нужно пропустить это при каком то условии то
if или while.
if - это просто проверка условия, и выполнения кода 1 раз.
а while проверка условия и выполнения кода до всегда пока условие истино.
while (проверка условия) и
{
выполнения кода вложенного в скобки, до тех пор пока условие правильно.
}
аналог с проверкой получается do while
do (код работает от начала if до exit)
while проверяется условие, и если условие неверно то выходит из программы, а если условие верно то снова выполняет код в do.
while (x != 5) выполняется код do (код) пока x неравно 5.
или while (x == 5) выполняется код в do (код) пока x = 5.
аналог наверно циклы,
do while.
1) работает код
2) проверяется условие
do {// выполняем цикл.
i++;
sum += i;
} while (i < 1000); // пока выполняется условие.
1) проверяется условие.
2) работает код.
while (Условие) {
Тело цикла;
}
goto считается или пишут что считается плохим тоном, и гении программирования рекомендуют заменять циклами.
в общем говорят что goto можно заменить циклом любым наверно.
про goto.
Оператор goto часто используется в некоторых старых языках, таких как Basic или Fortran, или даже в языке Cи. Однако в C++ goto почти никогда не используется, поскольку любой код, написанный с ним, можно более эффективно переписать с использованием других объектов в языке C++, таких как циклы, обработчики исключений или деструкторы (всё перечисленное мы рассмотрим чуть позже).
дальше хочешь сам читай гугли или пересоздавай вопрос почему goto не нравится или не нужно использоваться.
в общем я супер гений и не так прочитал вопрос да и хрен с ним.
если тебе нужно просто пропустить с if до конца все,
то до начала if код выхода из программы.
если тебе нужно пропустить это при каком то условии то
if или while.
if - это просто проверка условия, и выполнения кода 1 раз.
а while проверка условия и выполнения кода до всегда пока условие истино.
while (проверка условия) и
{
выполнения кода вложенного в скобки, до тех пор пока условие правильно.
}
аналог с проверкой получается do while
do (код работает от начала if до exit)
while проверяется условие, и если условие неверно то выходит из программы, а если условие верно то снова выполняет код в do.
while (x != 5) выполняется код do (код) пока x неравно 5.
или while (x == 5) выполняется код в do (код) пока x = 5.
аналог наверно циклы,
do while.
1) работает код
2) проверяется условие
do {// выполняем цикл.
i++;
sum += i;
} while (i < 1000); // пока выполняется условие.
1) проверяется условие.
2) работает код.
while (Условие) {
Тело цикла;
}
goto считается или пишут что считается плохим тоном, и гении программирования рекомендуют заменять циклами.
в общем говорят что goto можно заменить циклом любым наверно.
про goto.
Оператор goto часто используется в некоторых старых языках, таких как Basic или Fortran, или даже в языке Cи. Однако в C++ goto почти никогда не используется, поскольку любой код, написанный с ним, можно более эффективно переписать с использованием других объектов в языке C++, таких как циклы, обработчики исключений или деструкторы (всё перечисленное мы рассмотрим чуть позже).
дальше хочешь сам читай гугли или пересоздавай вопрос почему goto не нравится или не нужно использоваться.
Роман *****
Тоже читал, что плохой тон. Типа, уровень программиста обратнопропорционален количеству goto в его программах.
Похожие вопросы
- Как уменьшить время работы программы? C++
- Здравствуйте, помогите пожалуйста написать программу на C++ с использованием функций
- Если приложение вызывает утечку памяти, то при завершение работы приложения динамическая память очиститься или нет?
- C++. Указатели на функции
- Программирование C++, ряд Тэйлора, функции
- Найти наиболее часто встречаемое число в массиве на C++, используя только функции
- Вычислить значение функции F(x), разложенной в ряд и сходящейся в указанной области. Написать программу на языке C++
- Сделать перестановку чисел с помощью функции в C++, но у меня получается чепуха
- Задача по c++ на векторы. Часть программы написана. Нужны правки.
- C++ Выведите в порядке возрастания все простые числа на отрезке [l;r]. Оформите решение в виде функции bool