Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Blaster en 25 Abril 2013, 17:36 pm



Título: Traductor de idiomas en C
Publicado por: Blaster en 25 Abril 2013, 17:36 pm
 Hola acabo de terminar un sencillo code, que fue una idea que se me vino a la cabeza; se
trata de un sencillo traductor. La cuestion es que me guataria mejorarlo un poco en el caso
de las palabras me gustaria guardarla en una base de datos pero ese se me complica un
poco, o tambien podria ser en un fichero txt.
 En alguna parte vi algo sobre las expresiones regulares quisiera implementarlas en el code
para haceer las comparaciones de las palabras alguna idea, aqui esta el code que hice:

Código
  1. #include<stdio.h>
  2. #include<string.h>
  3.  
  4. char *punt[][2] = { "large", "grande", "evil", "maligno", "lower", "mas bajo",
  5.  
  6.                "write", "escribir", "print", "imprimir", "this", "este, esta, esto",
  7.  
  8.                "show", "mostrar", "check", "comprobar", "set", "poner, colocar" };
  9.  
  10. int main()
  11. {
  12.    int j, sw = 0, iter = 9;
  13.    char nom[80];
  14.  
  15.    printf("\nEscriba la palabra que desea traducir: ");
  16.    gets(nom);
  17.  
  18.    for(j = 0; j < iter; j++)
  19.    {
  20.        if(!strcmp(nom, punt[j][0]))
  21.        {
  22.           printf("\n %s traducido --> %s" , nom, punt[j][1]);
  23. sw=1;
  24.          }
  25.     }
  26.    if(sw==0)
  27.      printf("\n Lo siento la palabra no pudo ser traducida\n");
  28.  
  29.    getchar();
  30.    return 0;
  31. }
  32.  


Un Saludo!!  :D


Título: Re: Traductor de idiomas en C
Publicado por: amchacon en 25 Abril 2013, 18:04 pm
Te has liado un poco. Es mucho más fácil que hagas una lista de palabras inglesas y otra con sus equivalentes españolas. Este sería el código:

Código
  1. int main()
  2. {
  3.    int j, sw = 0, iter = 125;
  4.    char nom[80];
  5.  
  6.    printf("\nEscriba la palabra que desea traducir: ");
  7.    gets(nom);
  8.  
  9.    for(j = 0; j < iter; j++)
  10.    {
  11.        if(!strcmp(nom, inglesa[j]))
  12.        {
  13.           printf("\n %s traducido --> %s" , nom,espanyola[j]);
  14. sw=1;
  15.     }
  16.     }
  17.         if(sw==0)
  18.   printf("\n Lo siento la palabra no pudo ser traducida\n");
  19.  
  20. return 0;
  21. }


Título: Re: Traductor de idiomas en C
Publicado por: mr.blood en 26 Abril 2013, 09:42 am
Te has liado un poco. Es mucho más fácil que hagas una lista de palabras inglesas y otra con sus equivalentes españolas. Este sería el código:

Código
  1. int main()
  2. {
  3.    int j, sw = 0, iter = 125;
  4.    char nom[80];
  5.  
  6.    printf("\nEscriba la palabra que desea traducir: ");
  7.    gets(nom);
  8.  
  9.    for(j = 0; j < iter; j++)
  10.    {
  11.        if(!strcmp(nom, inglesa[j]))
  12.        {
  13.           printf("\n %s traducido --> %s" , nom,espanyola[j]);
  14. sw=1;
  15.     }
  16.     }
  17.         if(sw==0)
  18.   printf("\n Lo siento la palabra no pudo ser traducida\n");
  19.  
  20. return 0;
  21. }

Pregunta primero el idioma que quiere [S]panish o [E]nglish y luego buscas en una lista u otra, asi las comparaciones son muchisimas menos ;).

Buena idea, pero es mejor hacerlo con una base de datos, si no ese .exe acabara pesando una barbaridad ;). Como otra idea, lo mandas al google translate y muestras lo que te devuelva ;).

Sa1uDoS


Título: Re: Traductor de idiomas en C
Publicado por: Blaster en 27 Abril 2013, 03:33 am
Gracias a todos por las sugerencias, ahora mismo estoy trabajando en mejorarla  ;)
solo me estoy liando con esto de las bases de datos, luego les comento  ;-)

Un Saludo!!!!!.