14 sept 2013

soundex

les dejo un código que modifique de otro código, que mas bien me base para hacer este, es una prueba soundex, si no sabe lo que es, averiguarlo, se los pongo por si se lo dejan de tarea crear uno, y no saben como, bájenlo modinfíquelo, o simplemente cópienlo, péguenlo, y entréguelo, si su maestro es chingon los reprobara y si no, ya la hicieron. si no entienden el código se chingan, que yo no se lo voy a explicar


#include <stdio.h>
#include <string.h>
#include <ctype.h>




char * discriminacion(const char *dato)
{
    int codigo[]={0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2};
    char soundex[5], ch;
    int pedazo, cont;
    strcpy(soundex, "Z000");
    soundex[0]=toupper(*dato);
    pedazo=codigo[soundex[0]-'A'];
    ++ dato;
    //prinf("%c",soundex[0]);
   
   
   
    for(cont=1; cont<4 && *dato !='\0'; ++ dato)
    {
        if(isalpha(* dato))
        {ch=tolower(*dato);
            if(pedazo!= codigo[ch-'a'])
            {
                pedazo= codigo[ch-'a'];
                if(pedazo != 0)
                {
                    soundex[cont ++]='0'+pedazo;}
                }
            }
       
        }
        printf("%s",soundex);

    return soundex;
    }





int main()
{
    char cadena[]="";
    char *punt, result;
    punt=&cadena;
   
    gets(cadena);
    //while (*punt!='\0')
    //{
    //result =discriminacion(cadena);
//    while (fgets(cadena, sizeof cadena, stdin) != NULL){
    printf("%s\n", discriminacion(cadena));

    //}
    //printf("%s\n", *result);
   
   
   
return 0;   

    }