C/Visual C - No puedo encontrar un error ayuda!!!!

 
Vista:

No puedo encontrar un error ayuda!!!!

Publicado por xj35u5x (63 intervenciones) el 20/08/2000 00:00:00
Miren el siguiente código en c :

#include <stdio.h>
#include <math.h>

main() { int a,b=0,c=0,i=0,j;
int x=0,y=0;
int s[30];
while((a=getch())>47 && a<58)
{ s[i]=a-48;
printf("%i",s[i]);
i++;}
if(a==´+´)
{ printf("+");
for(j=i;j>0;j--)
{ x=x+(pow(10,(j-1)))*s[i-j];
}
printf("%i",x);

}
}
bien, este código lo que hace es, uno pone un número, y al apretar directamente el boton ´+´
se imprime este signo y luego el número nuevamente
o sea, si pongo el numero 43 y luego el signo
+ automaticamente me sale
43+43
eso es todo, ahora, mi problema, es que extrañamente, cuando pongo un número con un número impar de digitos(mayor que 1) el número me aparece
disminuido en 1, o sea, si pusiera por ejemplo 300
me saldria :
300+299
o si pongo 5435 me saldría :
5435+5434

Me ha costado un monton detectar el error, aunque estoy seguro que es algun error matemático o algo que tiene que ver con la math.h

gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder