Как я могу заставить эту простую программу вернуться без закрытия? - PullRequest
0 голосов
/ 09 мая 2019

Я начал пытаться изучать C ++ сегодня вечером, и сейчас я просто бездельничаю в IDE.Как я могу заставить эту простую программу не закрывать программу, пока вы не угадаете правильное число (5, 6 или 7)?

В текущем состоянии потребуется один ввод, затем произнесите любую клавишу, чтобы закрыть, вместо этогопозволить мне продолжать гадать.

#include <iostream>

int main() 
{
    int favorite_number;

    std::cout << "Enter your favorite number between 1 and 100: ";
    std::cin >> favorite_number;

        if(favorite_number == 5 || favorite_number == 6 || favorite_number == 7)
        {
        std::cout << "Amazing!! That's my favorite number too!";
        }

    std::cout << "Nice try, but that's not my favorite number" << std::endl;
    return 0;
}

Ответы [ 2 ]

3 голосов
/ 09 мая 2019

Спасибо, разобрались!

#include <iostream>

int main() 
{
    int favorite_number;
    bool completed = false;

    while(completed == false)
    {
    std::cout << "Enter your favorite number between 1 and 100: ";
    std::cin >> favorite_number;

        if(favorite_number == 5 || favorite_number == 6 || favorite_number == 7)
        {
        std::cout << "Amazing!! That's my favorite number too!";
        completed = true;
        return 0;
        }
        else
             std::cout << "Nice try, but that's not my favorite number" << std::endl;

        }


    return 0;
}
1 голос
/ 09 мая 2019

Я рад, что вы нашли решение! Кроме того, взгляните на этот код:

int main() 
{
    int favorite_number;

    while(1)
    {
        std::cout << "Enter your favorite number between 1 and 100: ";
        std::cin >> favorite_number;

        if(5 == favorite_number || 6 == favorite_number || 7 == favorite_number)
        {
            std::cout << "Amazing!! That's my favorite number too!";
            return 0;
        }
        else
            std::cout << "Nice try, but that's not my favorite number" << std::endl;

    }
}

Вы можете сделать цикл бесконечным, не используя завершенный bool. Таким образом, он будет работать, пока введенный номер отличается от одного из любимых номеров. Кроме того, последний возврат в вашем коде является дополнительным. Например, изменение порядка внутри if(5 == favorite_number) считается хорошей практикой, потому что вы можете написать по ошибке favorite_number = 5 (назначение), что является допустимым, и в этом случае вам будет труднее найти ошибку.

...