You can use the following approach with the switch statement. Though in my demonstrative program I use only the label default you may include any case label that corresponds to the enumeration
#include <iostream>
int main()
{
    while ( true )
    {        
        enum : unsigned int { One = 1, Two, Three, Four, Five, Six, Seven, Eight, Nine } digits;
        std::cout << "Enter a non-negative number (0-exit): ";
        unsigned int x = 0;
        std::cin >> x;
        if ( !x ) break;
        int len;
        switch ( ( digits = One,   x < 10 ) ||
                 ( digits = Two,   x < 100 ) ||
                 ( digits = Three, x < 1000 ) ||
                 ( digits = Four,  x < 10000 ) ||
                 ( digits = Five,  x < 100000 ) ||
                 ( digits = Six,   x < 1000000 ) ||
                 ( digits = Seven, x < 10000000 ) ||
                 ( digits = Eight, x < 100000000 ) ||
                 ( digits = Nine,  x < 1000000000 ), digits )
        {
                default:
                    len = digits;
                    break;
        }
        std::cout << x << " has " << len << " digits." << std::endl;
    }        
}
The program output might look like
Enter a non-negative number (0-exit): 1
1 has 1 digits.
Enter a non-negative number (0-exit): 11
11 has 2 digits.
Enter a non-negative number (0-exit): 111
111 has 3 digits.
Enter a non-negative number (0-exit): 1111
1111 has 4 digits.
Enter a non-negative number (0-exit): 11111
11111 has 5 digits.
Enter a non-negative number (0-exit): 111111
111111 has 6 digits.
Enter a non-negative number (0-exit): 1111111
1111111 has 7 digits.
Enter a non-negative number (0-exit): 11111111
11111111 has 8 digits.
Enter a non-negative number (0-exit): 111111111
111111111 has 9 digits.
Enter a non-negative number (0-exit): 0
An alternative representation of the switch including other case labels
    switch ( ( digits = One,   x < 10 ) ||
             ( digits = Two,   x < 100 ) ||
             ( digits = Three, x < 1000 ) ||
             ( digits = Four,  x < 10000 ) ||
             ( digits = Five,  x < 100000 ) ||
             ( digits = Six,   x < 1000000 ) ||
             ( digits = Seven, x < 10000000 ) ||
             ( digits = Eight, x < 100000000 ) ||
             ( digits = Nine,  x < 1000000000 ), digits )
    {
        case One:
            std::cout << "You could enter more digits.." << std::endl;
        case Two: case Three: case Four: case Five: case Six: case Seven: case Eight:
            len = digits;
            break;
        case Nine:
            std::cout << "Do you like money?" << std::endl;
            len = digits;
            break;
        default:
            std::cout << "Too big number! It can be never" << std::endl;
            break;
    }