Задать вопрос
@Jlad

Как преждевременно завершить программу в c++?

Как завершить программу, если условие выполнено? Заранее извиняюсь за го... плохой код, и отсутствие комментариев.
код:
#include <iostream>

using namespace std;
int main() {
    int num1, num2;
    string act;

    cout << "Calculator version 0.0.1" << endl;
    while (1 == 1) {
    cout << "Write your first number (or exit to exit programm): " << endl;
    cin >> num1;
    cout << "Write your second number: " << endl;
    cin >> num2;
    cout << "Enter your action (Examples: + / - / * / : / other): " << endl;
    cin >> act;
    if (act == "+") {
        cout << "Answer = " << num1 + num2 << endl;
    }
    if (act == "-") {
        cout << "Answer = " << num1 - num2 << endl;
    }
    if (act == "*") {
        cout << "Answer = " << num1 * num2 << endl;
    }
    if (act == ":") {
        cout << "Answer = " << num1 / num2 << endl;
    }
    if (act == "other") {
        string act2;
        cout << "Other operations (Example: remainder of the division (RoD)): " << endl;
        cin >> act2;
        if (act2 == "RoD") {
          cout << "Answer = " << num1 % num2 << endl;
        }
    if (act == "exit") {
        return 0;    //место, где я хочу чтобы программа заканчивалась, если условие выполнено
    }
    }
    }
}

Используя return 0; программа бесконечно выводит:
Write your first number (or exit to exit programm):
Write your second number:
Enter your action (Examples: + / - / * / : / other):

Дополнено: Возможно это связано с тем, что я пишу код и компилирую через реплит (Онлайн среда)
  • Вопрос задан
  • 585 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ответы на вопрос 2
Ocelot
@Ocelot
Посмотрите внимательно, где заканчивается блок if (act == "other")
if (act == "exit") попал внутрь него, а т.к. act не может принимать одновременно два разных значения, условие выхода никогда не выполняется.
Ответ написан
Комментировать
Zoominger
@Zoominger
System Integrator
break вставьте вместо return.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы