Как заставить эту программу повторяться до тех пор, пока пользователь не решит завершить работу?

#c

Вопрос:

Как я могу заставить эту программу повторяться до тех пор, пока пользователь не решит завершить программу, я хочу, чтобы программа спросила пользователя, хочет ли он/она повторить ее?

 #include <iostream>
#include <math.h>
using namespace std;

int main()
{
    int dec_num, r;
    string hexdec_num = "";
    char hex[] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' };
    cout << "nn Convert a decimal number to hexadecimal number:n";
    cout << "---------------------------------------------------n";
    cout << " Input a decimal number: ";
    cin >> dec_num;

    while (dec_num > 0)
    {
        r = dec_num % 16;
        hexdec_num = hex[r]   hexdec_num;
        dec_num = dec_num / 16;
    }
    cout << " The hexadecimal number is : " << hexdec_num << "n";
}
 

Комментарии:

1. Добавьте еще один цикл, окружающий цикл, который у вас уже есть.

Ответ №1:

Вы могли бы достичь этого с помощью вложенных циклов while:

 #include <iostream>
#include <string>
using namespace std;

int main()
{
    bool play_again;
    do
    {
        // your code

        while (true) // loop asking user
        {
            string user_input;
            cout << "again? ('y', 'n'):" << endl;
            cin >> user_input;

            if (user_input == "y")
            {
                play_again = true;
                break;
            }
            else if (user_input == "n")
            {
                play_again = false;
                break;
            }
            else
            {
                cout << "Invalid Input" << endl;
            }
        }
    } while (play_again);
}
 

Вы также можете извлечь эту логику в отдельную функцию, если захотите.