Мера: я заменил ‘exit(0);’ на ‘return 0;’ , всё заработало.
Отслеживать
4,246 14 14 золотых знаков 41 41 серебряный знак 92 92 бронзовых знака
ответ дан 11 сен 2016 в 6:08
user219751 user219751
1 1 1 бронзовый знак
Так что я замененыл ‘exit(0);’ на ‘return 0;’ е патом заработала праграма.
11 сен 2016 в 6:15
Вообще-то есть, заголовочный файл stdlib.h или cstdlib
11 сен 2016 в 7:41
return 0; поможет только в main() .
11 сен 2016 в 13:03
stdlib.h работает но, я не знаю что такое cstdlib.
13 сен 2016 в 4:59
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Источник: ru.stackoverflow.com
Ключевое слово continue c++ что это. Оператор continue. Пример. Синтаксис. Урок #19.
Остановить программу полностью, если условие выполнено внутри функции С++
В настоящее время работает над простой программой классификатора треугольников в C++ и работает хорошо, за исключением одной или двух вещей.
Хорошо, поэтому у меня есть четыре функции: одна для обработки ошибок, таких как введенные значения меньше нуля, или введенные длины, которые не позволяют физически возможно получить треугольник; один для классификатора, который определяет, какой тип треугольника он зависит от предоставленных значений; один для вычисления области, которая использует стороны как двойные значения для вычисления площади с использованием формулы Херона, и, наконец, основная функция, которая вызывает все эти функции в этом порядке, когда стороны передаются им в качестве своих аргументов, так что оператор if может следовать за ними.
Моя проблема заключается в том, что когда пользователь вводит боковые длины 0, он печатает сообщение об ошибке, согласно которому пользователь вводил значения, равные нулю, но затем он печатает его равносторонний треугольник. Что мне нужно изменить, чтобы программа полностью остановилась, когда условие выполнено в инструкции if? Я думаю, проблема в том, что условие работает правильно, но поскольку я вызываю функцию Classifier сразу после ExceptionHandling, он печатает ее равносторонний треугольник.
Я также хочу настроить цикл, который позволит пользователю попробовать снова ввести значение, если они ввели значение, которое вызвало условие, которое должно выполняться в функции ExceptionHandling, однако я попытался настроить цикл while, который просто вызывает бесконечный петля.
Я привел некоторые фрагменты кода ниже, однако я не могу опубликовать полный код, потому что его назначение, и я не хочу, чтобы кто-то еще его нашел. :п
Язык Си с нуля — Урок 42 — Отладка. Как дебажить в CodeBlocks
. void ExceptionHandling(double side1, double side2, double side3) < if (side1 < 1 || side2 < 1 || side3 < 1) < cout > double Classifier(double side1, double side2, double side3) < if (side1 == side2 side2 == side3) < cout . int main() < double side1; cout > side1; . ExceptionHandling(side1, side2, side3); Classifier(side1, side2, side3); Area(side1, side2, side3); >
По достоинству оценил бы тупое объяснение, о котором я очень хочу знать. Спасибо заранее.
Если вы хотите выйти из недействительного ввода (в отличие от повторения попытки пользователя), то что вам нужно сделать:
int main() < . if (not ValidInput(side1, side2, side3)) < std::cerr Classifier(side1, side2, side3); Area(side1, side2, side3); >
Если вам нужен цикл, вы можете сделать:
int main() < double side1, side2, side3; GetInput(side1, side2, side3); while (not ValidInput(side1, side2, side3) < std::cout Classifier(side1, side2, side3); Area(side1, side2, side3); >
Пример второй циклы:
int main() < double side1 = 0.0, side2 = 0.0, side3 = 0.0; while (not ValidInput(side1, side2, side3) < GetInput(side1, side2, side3); if (not ValidInput(side1, side2, side3)) < std::cout > Classifier(side1, side2, side3); Area(side1, side2, side3); >
Здесь GetInput вызывается только в одном месте, поэтому вам не нужно использовать отдельную функцию.
Это нетрадиционное разделение, но если вам нравится, вы можете сделать это следующим образом: функции ExceptionHandling проверяют, “все в порядке” и возвращает true, только если все в порядке:
bool ExceptionHandling(double side1, double side2, double side3) < if (side1 < 1 || side2 < 1 || side3 < 1) < cout return true; > double Classifier(double side1, double side2, double side3) < if (side1 == side2 side2 == side3) < cout . int main() < double side1; cout > side1; . if(ExceptionHandling(side1, side2, side3)) < Classifier(side1, side2, side3); Area(side1, side2, side3); >>
звонки в классификатор и зону выполняются только в том случае, если “все в порядке”.
Именование теперь немного clumpsy, но вы можете легко изменить, например ExceptionHandling можно назвать preconditionsMet.
Источник: techarks.ru
Оператор break в C++
Программирование и разработка
На чтение 6 мин Просмотров 1.4к. Опубликовано 18.11.2021
Оператор break в C ++ — это оператор, который управляет циклом таким образом, чтобы прервать его. Он используется для остановки текущего выполнения, чтобы можно было выполнить следующее. При чтении кода, когда компилятор читает оператор break, выполнение цикла немедленно останавливается, а затем управление передается за пределы цикла для выполнения других операторов.
Операторы break используются в основном в двух условиях. Когда пользователь не знает номеров итераций в программе. А во-вторых, когда пользователь хочет завершить программу в соответствии с заданным условием. Эта статья объяснит различия в использовании оператора break.
Чтобы понять оператор break в операционной системе Linux, в вашей системе должна быть запущена Ubuntu. Для этого установите Virtual Box и настройте его. Теперь добавьте к нему файл Ubuntu. Перед добавлением файл можно легко установить через Интернет через веб-сайт, что займет несколько часов. Запустите этот файл, и после успешной настройки теперь вы можете легко использовать версию Linux.
Во время настройки убедитесь, что пользователь создан; это необходимо для создания пользователя, чтобы вы могли получить доступ ко всем функциям Ubuntu.
Примечание. Мы использовали Ubuntu 20.04; все эти коды, описанные здесь, могут быть выполнены в любой версии. Для реализации вам потребуется текстовый редактор и доступ к терминалу Linux, потому что мы сможем видеть вывод исходных кодов на терминале через запрос.
Синтаксис очень прост, поскольку это всего лишь ключевое слово.
Работа на C ++
Оператор break прекращает выполнение той точки, в которой он определен, и начинает выполнение других операторов. Если вы уже упомянули условие в программе, программа выполняет программу в соответствии с этим условием. Компилятор сначала проверяет условие. Если условие истинно, условный оператор выполняется.
Если оператор break упоминается после условия, программа немедленно останавливается. В противном случае цикл будет повторяться до тех пор, пока условие не останется истинным; как только он становится ложным, программа завершается.
Теперь мы упомянем и объясним некоторые элементарные примеры, чтобы добавить больше информации об операторе break.
Пример 1
В первом примере показан простой линейный поиск, работающий в простой функции без оператора break. После этого мы включим оператор break в ту же программу, чтобы показать их несходство.
Теперь, возвращаясь к примеру, сначала мы будем использовать библиотеку для чтения и записи в программе.
Затем, непосредственно переходя к основной программе, мы инициализировали массив, а затем переменной присваивается номер, который нужно искать в массиве, и, наконец, в конце вызывается функция. Этот вызов имеет массив, общее количество и тот номер, который нужно найти. Для выполнения функции поиска здесь используется функция, которая принимает все аргументы от основной функции. Для поиска позиции этого числа используется цикл for. Оператор display покажет номер индекса, и в то же время процесс поиска будет продолжен в конце цикла, пока он не будет завершен в соответствии с условием.
Сохраните код в файле с расширением имени «.c». Для вывода перейдите в терминал Ubuntu. Поскольку каждый код выполняется определенным компилятором, здесь для C ++ нам нужен компилятор G ++ для компиляции и выполнения кода. Перерыв. c ’- это имя файла.
Вы можете видеть, что цифра «3» присутствует в 5-м месте массива. Теперь мы внесем некоторые изменения в код этой программы. Например, мы дважды использовали число «3» в массиве, чтобы соответственно увидеть результат.
Примените тот же метод, чтобы получить желаемый результат. Как и ожидалось, результат показывает положение обоих индексов с одинаковыми номерами.
Теперь, переходя к основной идее, оператор break в коде будет использоваться сразу после оператора display внутри цикла. Это будет работать таким образом, что при нахождении числа цикл будет завершен. Он не будет ждать повторного поиска числа в цикле в другой позиции. Будет отображена предыдущая позиция, и цикл остановит процесс выполнения.
Как и при компиляции и запуске программы, вы можете заметить, что первая позиция отображается только на выходе.
Пример 2
В этом примере мы использовали вложенные циклы for, чтобы объяснить феномен оператора break. Оператор break объявляется внутри самого внутреннего цикла. Таким образом, управление будет происходить из самых внутренних циклов при встрече компилятора с оператором break.
В коде основная программа содержит внешний цикл for, имеющий до 7 итераций, что означает, что внешний цикл будет выполняться 7 раз. Внутри этого цикла объявите внутренний цикл for; это будет повторяться до 7. И внутри этого цикла оператор if используется для проверки того, становится ли переменная внутреннего цикла больше 5, затем прерывает итерацию и выходит за пределы цикла. Если итерация меньше 5, выведите знак решетки «#». Это означает в каждой строке; знак решетки появится 5 раз.
Выполнить код через компилятор в терминале. Вы увидите, что 7 строк выполняются в соответствии с условиями внешнего цикла. В случае внутренней программы вы можете видеть, что она была запрограммирована на выполнение 10 раз.
Пример 3
Это пример взаимодействия с пользователем. В основной программе используется цикл while. Программа рассчитает числа, полученные от пользователя. Мы возьмем две переменные; один — получить числа от пользователя, а другой — подсчитать числа и вычислить сумму.
Мы применили здесь условие, что если пользователь вводит отрицательное число, то прекращает дальнейшее выполнение и вычисляет сумму чисел, введенных до сих пор. Когда используется слово прерывания, элемент управления выводится из оператора if, а затем вычисляется сумма.
Теперь проверим результат этого исходного кода. Когда мы выполним код, система потребует от нас ценности. Теперь будем вводить цифры по порядку. Система будет продолжать запрашивать число, пока мы не введем отрицательное значение. В противном случае процесс получения стоимости будет продолжаться.
Как только мы ввели «-4», программа завершается.
Заключение
В этой статье объясняется работа оператора break в коде. Оператор break в основном используется внутри цикла for в случае массивов, процессов поиска и сравнения. В этом руководстве кратко объясняется каждый пример использования оператора break. Надеюсь, этого будет достаточно для объяснения оператора break.
Источник: bestprogrammer.ru