La Web del Programador: Comunidad de Programadores
 
    Pregunta:  47671 - CAMBIAR UN CHAR A INT
Autor:  Luis Garcia
como se puede cambiar una variable tipo char a int para poder validarla ? como puede pedir un dato y al validarlo que solo acepte numeros?

  Respuesta:  Eider Mauricio Aristizábal Erazo
1. primero debes recibir la entrada del usuario en una variable de tipo cadena.
2. Validar que la cadena sea un numero valido
3. Convertir la cadena a numero y asignarla a tu variable numerica.

Busca la funcion isdigit(); en la ayuda creo que es math.h
creo que el codigo que sige te funciona

#include <math.h>

void main(){
int numero, valido=1;//digamos que toda entrada es valida
int len;//longitud de la cadena digitada
char *cadena;
cout<<"digite el numero";cin>>cadena;
len = strlen(cadena);

//validar que la cadena digitada sea un numero
for(i=0;cadena[i]!=NULL;i++){
if(!isDigit(cadena[i])){
valido = 0;
break;//se sale del ciclo
}else{
numero = numero + (char(cadena[i])*(pow(10,len));
len = len-1;
}
}
if(!valido){
cout<<"Debe digitar un nùmero";
}else{
cout <<"Nùmero correcto "<<numero;
}

}

si no te funciona busca en la ayuda que ahi de seguro esta el ejemplo correcto.