#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);
}
Вы также можете извлечь эту логику в отдельную функцию, если захотите.