uint8 _t не принимает двухзначный ввод

Это мой тестовый код

#include<iostream>
using namespace std;
int main() 
{
    uint8_t a;
    while(1)
    {
        cin>>a;
        if(a == 0) break;
        cout<<"Input is "<<a<<endl;
    }
}  

Когда я выполняю (с моими входными данными ), это то, что я получаю

1
Input is 1
2
Input is 2
12
Input is 1
Input is 2
0
Input is 0
3  
Input is 3

Проблема 1 :Вход 12 принимается как два отдельных входа

Проблема2 :Условие, если a==0 не работает

Какие могут быть проблемы?

5
задан phuclv 30 April 2017 в 11:44
поделиться