Como veo que usas cout, asumo que estás programando en C++, ahora no tengo el compilador delante, espero recordar a la primera y de memoria...
Para convertir a cadena, puedes usar la función itoa, que es de C, no recuerdo si la clase string tiene métodos para esa conversión, pero con esta te valdrá.
defines una variable de tipo string ( #include <string> ) y le pasas la cadena en la que conviertes a tu número:
int num = //el número que recoges
string numero = itoa (num);
Ahora tienes que iterar desde 0 (el primer caracter de las cadenas es el 0 y no el 1), durante toda la longitud de la cadena, o sea:
for (int contador= 0; i < numero.length(); i++) { [...] }
Con la operación substr (¿o era substring?) de string puedes quedarte con un trozo de cadena, que será el número que quieres y lo tienes que convertir a entero otra vez para ver si es par o impar y sumarlo a la variable que sea:
Para conseguir la subcadena usas:
/*esto fuera del bucle, empezaremos por el dígito más a la izquierda*/
string subcadena
/*toma un caracter de la cadena, empezando desde el caracter iesimo*/
subcadena = numero.substr(i,1);
Para volver a convertir en int usas atoi así:
/*atoi espera un char*, puedes usar el tipo string si conviertes su contenido en char*, eso se consigue con c_str() */
int digito = atoi (subcadena.c_str());
y con dígito ya puedes trabajar sin problemas.
Espero que te sirva
Suerte
Silverfox