Si te doy un conjunto de datos (en papel), del tipo:
Primera cifra: 1
Segunda cifra: 8
Tercera cifra: 4
¿Sabrías, mediante operaciones aritméticas (concatenar no vale), formar el número?
Si la respuesta es sí, solo tienes que hacer eso mismo con código.
Dado un caracter '5', para convertirlo al número 5, tienes que restarle el valor ascii del 0. El valor ascii del 0 es 48, pero en C++ puedes poner simplemente:
char c = '5';
int n = c - '0';
Ahora "n" es 5. Haces eso cada vez que necesites el valor numérico de un caracter.
Luego, si no sabes convertir una cadena a un número, es:
Cifras: 5 4 8 6
Numero = 5*10^3 + 4*10^2 + 8*10^1 + 6*10^0
O, abstrayendo el concepto:
Por cada cifra:
Numero = Numero + cifra*10^indice
Siendo el indice la posicion de la cifra, empezando desde 0 desde la derecha