Цин в цикле

Так что я'я огляделся вокругне смог понять, чтопроисходит с cin во время моего цикла. Я'Я работаю над книгой C ++ Primer (5-е издание), и я заметил, что во время одного из упражнений я не могt использовать cin для захвата строк без прерывания цикла while. Я исправил эту проблему, просто используя getline ().

Цель текущего упражнения - запросить пользовательский ввод значений 0 - 15 и преобразовать это число в "Hex Equivelant " (Где 0 = 1, 1 = 2, 2 = 3, ..., 10 = A, 11 = B). Я попытался сделать это без книги и потерпел неудачу, но затем начал подвергать сомнению код в книге. Вот's код в книге:

//Note:  and  have been included. using namespace std is used 
const string hexdigits = "0123456789ABCDEF";
cout < "Enter a series of numbers between 0 and 15"
     < " separated by spaces. Hit ENTER when finished: "
     < endl;
string result;
string::size_type n;

while(cin >> n)
    if (n < hexdigits.size())
        result += hexdigits[n];
cout < "Your hex number is: " < result < endl;

Ответы на вопрос(5)

Ваш ответ на вопрос