Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/04/2010, 10:27
lord_scarl
 
Fecha de Ingreso: octubre-2007
Mensajes: 10
Antigüedad: 16 años, 7 meses
Puntos: 0
Problemas con funcion atoi

Que tal !!

estoy haciendo un programa en C que debera correr en linux y lo que es que acepta una lista de numeros y te indica cual es el mayor y cual el menor, esta sencillo, pero hay que hacer varias validaciones, como k la lista no pueda ser mayor de 100 numeros y k los numeros no tengan caracteres diferentes a digitos y es aki donde esta el problema.

para la validacion, capturo cada numero de la lista en una cadena (char cadena[]), despues con un simple if, comparo que todos los caracteres capturados sean numeros y si son puros numeros entonces con la funcion atoi convierto la cadena a numero para poder realizar las operaciones necesarias.

hasta aqui todo bien sin problemas, la bronca empieza cuando mi maestro lo corre, ha presionado todas las teclas del teclado, supr, insert, etc, y no ha logrado tronar el programa, pero al introducir un numero valido muy largo, el programa lo procesa mal.

Por ejemplo, esta es la salida del programa:


Cuantos numeros deseas accesar? 1

Introduce el valor numero 1 y da enter:
11111111111111111111111111111111111111111111111111 11111111111111111111


Lista de numeros:
-954437177

Mayor: -954437177
Menor: -954437177

como podran ver el numero de entrada son puros "unos" y el valor de salida que da el atoi es -954437177 ... como puedo solucionar esto?? de antemano gracias !! saludos !!