Fundamentos:Solucións:Conversión de Cadea a Número
Saltar á navegación
Saltar á procura
Escribir unha función que reciba como parámetro unha cadea de caracteres e devolva o número enteiro que está a representar.
int cadtoint(char *cad);
Pseudocódigo
signo=1
total=0
vpos=1
Si (cadea[0]=='-')
cadea[0]='0';
signo=-1;
Fin-Si
pos=lonxitude da cadea - 1
Mentras (pos>=0)
total=total+(cadea[pos]-'0')*vpos
pos=pos-1
vpos=vpos*10
FinMentras
Devolver (total*signo)
Implementación en C
int cadtoint(char *cad)
{
int signo;
int total;
int vpos;
int pos;
total=0;
vpos=1;
signo=1;
if (cad[0]=='-')
{
cad[0]='0';
signo=-1;
}
pos=strlen(cad)-1;
while(pos>0)
{
total+=(cad[pos]-'0')*vpos;
pos--;
vpos*=10;
}
return (total*signo);
}