marzo 01, 2013

EJEMPLO: PROGRAMA QUE FUNCIONA COMO ATOI, CONVIERTE CADENA EN ENTERO


Ejemplos de cadenas. Función que realiza la misma operación que la función atoi, que convierte una cadena en un entero. La función regresa el entero representado por la cadena s si se pudo convertir, en caso contrario regresa 0. Si la función encuentra caracteres espacio o tabulación, los salta. Si al empezar la secuencia de dígitos, ésta se interrumpe, el programa termina.

#include stdio.h
#include ctype.h

int myatoi(char *s);

void main(void){

 int n;
 char cad[50];
  clrscr();

  printf("Introduce la cadena: ");
  gets(cad);
  n=myatoi(cad);
   printf("\nEl entero extraido de la cadena fue %d",n);
    getch();
}

 int myatoi(char *s){
  int signo=1,num=0;

   while(1){
    if(*s==' ' || *s=='\t'){
     s++;
   }
     else break;
   }
     if(*s=='+'){
     s++;
    }
      else if(*s=='-'){
       signo=-1;
s++;
      }
       while(1){
if(*s=='\0' || !isdigit(*s)){
break;
       }
  num=10*num+(*s-'0');
  s++;
     }
   return signo*num;
 }

No hay comentarios:

Publicar un comentario