Foros del Web » Programación para mayores de 30 ;) » Programación General »

URGENTE, FUNCION ATOI!!! AYUDAAA x_x

Estas en el tema de URGENTE, FUNCION ATOI!!! AYUDAAA x_x en el foro de Programación General en Foros del Web. hola, necesito tener desarrollada para antes de esta tarde la funcion ATOI que pasa de texto a entero... había hecho esto: Código: int numero(char numero[250]) ...
  #1 (permalink)  
Antiguo 29/04/2005, 03:34
Avatar de donpincho  
Fecha de Ingreso: enero-2002
Mensajes: 563
Antigüedad: 22 años, 3 meses
Puntos: 1
URGENTE, FUNCION ATOI!!! AYUDAAA x_x

hola, necesito tener desarrollada para antes de esta tarde la funcion ATOI que pasa de texto a entero... había hecho esto:

Código:
int numero(char numero[250])
{
	int i,j,multiplicador,acumulado=0;

	multiplicador=1;
	for(i=strlen(numero)-1;i>=0;i--)
	{
		if( (numero[i]>=48)&&(numero[i]<=57) )
				j=numero[i]-48;
		acumulado+=j*multiplicador;
		multiplicador*=10;

	}

	return(acumulado);
}
Pero esto solo funciona para números positivos! X_x ahora necesito hacer que si introduces un número con un "-" delante haga el número negativo... pero no para de darme errores y no funciona nada X_x

socorrooo!! alguien me ayuda!!???

millones de gracias ^^
  #2 (permalink)  
Antiguo 29/04/2005, 04:03
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
Una solucion un tanto simple, comprobas que el primer caracter sea un '-' si lo es multiplicas el acumulado por -1 sino sumas como siempre.

Código:
int numero(char numero[250])
{
	int i,j,multiplicador,acumulado=0;

	multiplicador=1;
	for(i=strlen(numero)-1;i > 0;i--)
	{
		if( (numero[i]>=48)&&(numero[i]<=57) )
				j=numero[i]-48;
		acumulado+=j*multiplicador;
		multiplicador*=10;
	}
             if (*numero == '-') { acumulado *= -1; }
             else { acumulado += (*numero - 48) * multiplicador; }
	return(acumulado);
}
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
  #3 (permalink)  
Antiguo 29/04/2005, 04:30
Avatar de donpincho  
Fecha de Ingreso: enero-2002
Mensajes: 563
Antigüedad: 22 años, 3 meses
Puntos: 1
uoooo ai gracias! de verdad :D
  #4 (permalink)  
Antiguo 29/04/2005, 05:09
Avatar de Eternal Idol  
Fecha de Ingreso: mayo-2004
Ubicación: Lucentum
Mensajes: 6.192
Antigüedad: 20 años
Puntos: 74
De nadas, retocalo para que compruebe que el primer caracter sea un numero.
__________________
¡Peron cumple, Evita dignifica! VIVA PERON CARAJO
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:57.