Código
int entrenumeros(num1,num2){ int i=0,resp; char respuesta[15]; do{ for(i=0; respuesta[i] != '\0'; i++){ //lee los caracteres de uno en uno. if ((resp>=num1 && resp<=num2)){ //Si resp esta entre los dos numeros que nosotros ponemos como parametros es correcto y sale del for y del do-while, retornando el valor de resp al programa principal break; } if((resp<num1 || resp>num2)){ //Si el numero no esta entre los parametros muestra el mensaje break; } } break; } } } while (!(resp>=num1 && resp<=num2)); //Solo sale si el numero introducido se encuentra entre los parametros puestos por nosotros. return resp; }
He hecho este codigo pero tengo un problema, ahora los parametros introducidos a la funcion los damos nosotros y el dato que el usuario nos de debe estar entre num1 y num2, el problema es cuando ponen una cadena del tipo "2ASKDASDL" que lee primero el 2 pero ignora el resto de la cadena (cosa que deberia dar error y mostrar mensaje de seleccion no valido).