#include <stdio.h>
int cambio(int num);
main()
{
 int c,dato=0;
 system("clear");
 printf("\nPrograma que decodifica \n");
 printf("\nIngrese los numeros:  ");
 while((c=getchar())!= EOF)     
 {
  if((c>=48)&&(c<=57))               /*ubicacion de los numeros en cod. ascii*/    
  {
   dato=(dato*10)+cambio(c);
   switch(dato)
   {
    case 123457 :putchar('a');
                  dato=0;            /*vuelve a cero para buscar el siguiente dato*/
                  break;
    case 1234567:putchar('b');
                  dato=0;
                  break;
    case 456    :putchar('c');
                  dato=0;
                  break;
    case 1589   :putchar('d');
                  dato=0;
                  break;
    case 12456  :putchar('e');
                  dato=0;
                  break;
    case 1249   :putchar('f');
                  dato=0;
                  break;
    case 12569  :putchar('g');
                  dato=0;
                  break;
    case 13457  :putchar('h');
                  dato=0;
                  break;
    case 37     :putchar('i');
                  dato=0;
                  break;
    case 3567   :putchar('j');
                  dato=0;
                  break;
    case 13459  :putchar('k');
                  dato=0;
                  break;
    case 156    :putchar('l');
                  dato=0;
                  break;
    case 12357  :putchar('m');
                  dato=0;
                  break;
    case 3579   :putchar('n');
                  dato=0;
                  break;
    case 123567 :putchar('o');
                  dato=0;
                  break;
    case 1458   :putchar('p');
                  dato=0;
                  break;
    case 12347  :putchar('q');
                  dato=0;
                  break;
    case 123459 :putchar('r');
                  dato=0;
                  break;
    case 12467  :putchar('s');
                  dato=0;
                  break;
    case 278    :putchar('t');
                  dato=0;
                  break;
    case 13567  :putchar('u');
		  dato=0;
                  break;
    case 1379   :putchar('v');
                  dato=0;
                  break;
    case 13579  :putchar('w');
                  dato=0;
                  break;
    case 9      :putchar('x');
                 dato=0;
                  break;
    case 1347   :putchar('y');
                  dato=0;
                  break;
    case 23456  :putchar('z');
                  dato=0;
                  break;
   }
  }
  else
  {
   if((c>=65)&&(c<=90))   /*ubicacion de las letras mayusculas en cod.ascii*/
    {
     ;                    /*el punto y coma hace que pegue un salto,o sea no lo pesca*/
    }                     /*lo descubri de puro suertudo*/
     else
      {
       if((c>=97)&&(c<=122))  /*ubic. de las letras minusculas en cod.asdcii*/
        {
          ;
        }
         else
          {
           putchar(c);
          }
       }
  }
 }
}
int cambio(int num)         /*mi funcion para cambiar de caracter a numero*/
 {
  switch(num)
  {

   case ('0'): num=0;
              break;
   case ('1'): num=1;
              break;
   case ('2'): num=2;
              break;
   case ('3'): num=3;
              break;
   case ('4'): num=4;
              break;
   case ('5'): num=5;
              break;
   case ('6'): num=6;
              break;
   case ('7'): num=7;
              break;
   case ('8'): num=8;
              break;
   case ('9'): num=9;
              break;
  }
  return num;                  /*hemos llegado al final, ahora lo dejo a la buena de Dios*/
 }                             /*firma: Marco Antonio Velasquez Gomez(ocram)*/
