Characters essentially are integers. You could easily assigned an integer value to a char, assuming they're the same size. This can get a little hazy between different compilers and system architectures.
1 2
int my_int = 12345;
char32_t my_char = my_int;
Why you'd want to is another matter.
I'd imagine the same thing would happen to a double, providing the char was big enough. Though I think anything after the decimal point would be truncated.
Again, I can't see why you'd really want to do something like this.
Edit: This may be outdated. I was typed this before the above replied appeared.
From the description you've given, I don't see why you need to store anything in a char. You just need to read the user input as a number, sort the numbers, and then output the numbers.
Oh, I see what you mean now. You want to associated the value with its ID. You could usually use a std::map for that sort of associating, but it can get a little messy to sort (maps by their nature are sorted by keys, not values).
You could create a struct and keep a vector of that struct, adding the appropriate elements as they're entered.