In an exercise I'm doing, it was proposed to read two numbers, one integer and one real, and count how many digits they have.
The input and output should look like this:
Entre com o numero inteiro: 2345
Entre com o numero real: 234.549
O numero inteiro possui 4 dígitos.
O numero real possui 6 dígitos.
I'm using this code to solve the problem:
//Entrada de numeros
cout << "Entre com o numero inteiro: ";
cin >> NumInt;
cout << "Entre com o numero real: ";
cin >> NumReal;
//Conversao para string
NumString = to_string(NumReal);
//Contador de digitos
while (NumString[i++] != 'Entre com o numero inteiro: 1234
Entre com o numero real: 765.34
Numero lido: 765.340027
Possui 10 digitos.
Pressione qualquer tecla para continuar. . .
');
//Impressao do numero
cout << endl;
cout << "Numero lido: " << NumString << endl;
cout << "Possui " << i - 1 << " digitos." << endl;
The output is this:
Entre com o numero inteiro: 2345
Entre com o numero real: 234.549
O numero inteiro possui 4 dígitos.
O numero real possui 6 dígitos.
The actual number is being read with extra digits. Could you help me?