Как организовать несколько циклов?

137
28 октября 2019, 15:10

Делаю простейшие задачи. Проблема в том, что я пока не знаю, как сделать множественный цикл (т.е. ввел переменные, получил результат и все, программа завершается, а я хочу повторить несколько раз, не закрывая окно, проверить, насколько корректно она работает при разных значениях переменных) Пример.

#include <iostream>
using namespace std;
int main() {
    int H, A, B;
    cin >> H >>A >> B;
    cout << (H + A - 2 * B - 1) / (A-B);
    return 0;
}

p.s. глупый вопрос, но ответа я пока не вижу, а задачи идут подряд, хочу сразу оптимизировать.

UPD В итоге собрал вот так, наиболее понятная пока для меня версия, спасибо всем, кто предложил свой вариант

int main() {
    char ans = '1';
    while (ans == '1')
    {
        int H, A, B;
        cin >> H >> A >> B;
        cout << "result     " << (H + A + B) << endl;
        cout << "     " << endl;
        cout << "Repeat: 1, exit: other button";
        cin >> ans;
    }

}

Answer 1
for(;;)
{
    int H, A, B;
    if (!(cin >> H >> A >> B)) break;
    cout << (H + A - 2 * B - 1) / (A-B) << endl;
}

Как надоест - нажмете Ctrl-Z (Ctrl-D в Linux). Или введете не число...

Answer 2

Это очень грубая, студенческая реализация, которая возможно будет более понятной начинающему разработчику на С++.

int main()
{
int h, a, b;
bool out = true;
while (out) 
{
    std::cout << "Input your numbers: ";
    std::cin >> h >> a >> b;
    std::cout << "Result = " << (h + a - 2 * b - 1) / (a - b) << std::endl;
    std::cout << "Repeat again? y/n" << std::endl;
    std::string answer = "";
    std::cin >> answer;
    if (answer == "n")
        out = false;
}
return 0;
}

Только нужно добавить #include <string>.

READ ALSO
Когда перегрузка операторов это плохо? [закрыт]

Когда перегрузка операторов это плохо? [закрыт]

Перегрузка операторов крайне удобная возможность языка С++Ведь можем написать:

154
Инициализация класса массивом

Инициализация класса массивом

у меня есть следующий класс со следующим конструктором:

122