Traductor de idiomas en C

Iniciado por Blaster, 25 Abril 2013, 17:36 PM

0 Miembros y 1 Visitante están viendo este tema.

Blaster

 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 (cpp) [Seleccionar]
#include<stdio.h>
#include<string.h>

char *punt[][2] = { "large", "grande", "evil", "maligno", "lower", "mas bajo",

               "write", "escribir", "print", "imprimir", "this", "este, esta, esto",

               "show", "mostrar", "check", "comprobar", "set", "poner, colocar" };

int main()
{
   int j, sw = 0, iter = 9;
   char nom[80];

   printf("\nEscriba la palabra que desea traducir: ");
   gets(nom);

   for(j = 0; j < iter; j++)
   {
       if(!strcmp(nom, punt[j][0]))
       {
          printf("\n %s traducido --> %s" , nom, punt[j][1]);
sw=1;
         }
    }
   if(sw==0)
     printf("\n Lo siento la palabra no pudo ser traducida\n");

   getchar();
   return 0;
}



Un Saludo!!  :D

amchacon

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:

int main()
{
    int j, sw = 0, iter = 125;
    char nom[80];

    printf("\nEscriba la palabra que desea traducir: ");
    gets(nom);

    for(j = 0; j < iter; j++)
    {
        if(!strcmp(nom, inglesa[j]))
        {
           printf("\n %s traducido --> %s" , nom,espanyola[j]);
sw=1;
     }
     }
         if(sw==0)
   printf("\n Lo siento la palabra no pudo ser traducida\n");

getchar();
return 0;
}
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

mr.blood

Cita de: 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:

int main()
{
   int j, sw = 0, iter = 125;
   char nom[80];

   printf("\nEscriba la palabra que desea traducir: ");
   gets(nom);

   for(j = 0; j < iter; j++)
   {
       if(!strcmp(nom, inglesa[j]))
       {
          printf("\n %s traducido --> %s" , nom,espanyola[j]);
sw=1;
    }
    }
        if(sw==0)
  printf("\n Lo siento la palabra no pudo ser traducida\n");

getchar();
return 0;
}


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

Blaster

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!!!!!.