Avatar ·

¿Cómo convertir char a int en C y C++? Analizando dígitos y caracteres

¡Hola a todos! Acabo de empezar a estudiar C++ y me encontré con una situación confusa. Necesito leer un carácter desde la entrada estándar y convertirlo en un número entero para realizar operaciones aritméticas con él. Aquí está mi código en C++: ```cpp #include using namespace std; int main() { char c; cout << "Ingrese un dígito: "; cin >> c; int num = (int)c; // Intento convertir char a int cout << "El número ingresado multiplicado por 2: " << num * 2 << endl; return 0; } ``` Si ingreso `5`, espero obtener como resultado `10`, ¡pero el programa muestra `106`! ¿Por qué sucede esto? Leí que `char` es un tipo entero y se puede hacer cast a `int`. Pero, aparentemente, estoy haciendo algo mal. Díganme, ¿cómo convertir correctamente un carácter que contiene un dígito en un número entero? Y, en general, ¿cuál es la diferencia entre la conversión de char a int al estilo C y al estilo C++? ¡Gracias de antemano por su ayuda! <<>>

¿Por qué ocurre el error?

Su problema es una trampa clásica para principiantes