• Viernes 1 de Noviembre de 2024, 06:28

Autor Tema:  Traductor De Ingles A Español O Bicerversa  (Leído 5280 veces)

josegm13

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Traductor De Ingles A Español O Bicerversa
« en: Domingo 14 de Octubre de 2007, 21:31 »
0
//Dividir en Tokens
#include <iostream.h>
#include <string.h>
int main()

{   
   char* in[]={"asm",
      "auto",
"bool",
"break",
"case",
"catch",
"char",
"cin",
"class",
"const",
"const_cast",
"continue",
"cout",
"default",
"delete",
"do",
"double",
"dynamic_cast",
"else",
"enum",
"explicit",
"extern",
"false",
"float",
"for",
"friend",
"goto",
"if",
"inline",
"int",
"long",
"mutable",
"namespace",
"new",
"operator",
"private",
"protected",
"public",
"register",
"reinterpret_cast",
"return",
"short",
"signed",
"sizeof",
"static",
"static_cast",
"struct",
"switch",
"template",
"this",
"throw",
"true",
"try",
"typedef",
"typeid",
"typename",
"union",
"unsigned",
"using",
"virtual",
"void",
"volatile",
"while",
 

"+",
"-",
"*",   
"/",   
"%",   
"++",   
"--",   
"=",
"*=",
"/=",
"%=",
"+=",
"-=",
"<<=",
">>=",
"&=",
"^=",
"|=",
",",
";",   
"==",
"!=",
"&&",
"||",
"!" ,
"<",
">",
"<=",
">=",
"(",
")",
"&",
"~",
"",
"",
"",
""   
   };  


   char* es[]={"asm",
"auto",
"bola",
"rotura",
"caso",
"capturar",
"caracter",
"leer",
"clase",
"constante",
"const_cast",//molde contaste?
"continuar",
"escribir",
"omitir",
"cancelacion",
"hacer",
"doblar",
"dynamic_cast",
"sino",
"enum",
"explicito",
"externo",
"falso",
"flotador",
"para",
"amigo",
"goto",
"si",
"enlinea",
"interno",
"largo",
"mutable",
"namespace",
"nuevo",
"operador",
"privado",
"protegido",
"público",
"registro",
"reinterpret_cast",
"volver",
"corto",
"firmado",
"sizeof",
"parasitos atmosfericos",
"static_cast",
"struct",
"cambiar",
"plantilla",
"éste",
"tiro",
"verdad",
"intento",
"tipodef",
"tipoid",
"tiponombre",
"union",
"sin firmar",
"usando",
"virtual",
"vacio",
"volatil",
"mientras",


"+",
"-",
"*",   
"/",   
"%",   
"++",   
"--",   
"=",
"*=",
"/=",
"%=",
"+=",
"-=",
"<<=",
">>=",
"&=",
"^=",
"|=",
",",
";",   
"==",
"!=",
"&&",
"||",
"!" ,
"<",
">",
"<=",
">=",
"(",
")",
"&",
"~"}; //98


char frase[100];
char *ptr;
 int b=0,i,h=0,z=0;  
cout<<"Ingrese una oracion   :";
cin.getline(frase,100);
ptr = strtok(frase," ");//argumentos: frase, caracter delimitador
cout<<endl<<endl;
   
//inicio del menu
int opcion;
cout<<"Escoger una opcion a traducir:"<<endl<<endl;
cout<<"1.-Ingles  - Español"<<endl<<endl;
cout<<"2.-Español - Ingles "<<endl<<endl;
cout<<"Su opcion es   :";
cin>>opcion;
//Fin del menu



switch(opcion)
{
//CASO 1 DE INGLES A ESPAÑOL
case 1:
cout<<endl<<endl;
cout<<"La oracion traducida es :  ";
while(ptr != NULL)    
{  
for(i=0;i<100;i++)
{
if(strcmp(ptr,in)==0)
{cout<<es<<" ";
i=200;z=z+1;}
}
if(i<200)
{cout<<ptr<<" ";
b=b+1;}
ptr = strtok(NULL, " ");    
}
cout<<endl<<endl;
cout<<"hay "<<z<<" palabras traducidas   "<<endl<<endl;
cout<<"hay "<<b<<" palabras no traducidas   "<<endl<<endl;
return 0;
;break;
//CASO 2 DE ESPAÑOL - INGLES
case 2:
cout<<endl<<endl;
cout<<"La oracion traducida es :  ";
while(ptr != NULL)    
{  
for(i=0;i<100;i++)
{
if(strcmp(ptr,es)==0)
{cout<<in<<" ";
i=200;z=z+1;}
}
if(i<200)
{cout<<ptr<<" ";
b=b+1;}
ptr = strtok(NULL, " ");    
}
cout<<endl<<endl;
cout<<"hay "<<z<<" palabras traducidas   "<<endl<<endl;
cout<<"hay "<<b<<" palabras no traducidas   "<<endl<<endl;
return 0;
;break;
default:cout<<"opcion incorrecta";
}
}



hice este programa con dos bases de datos una en ingles y otra de español
.traduce oraciones separadas por espacios. pruebenlo y si quieren cambien esas bases de datos.
escriban que tal les parecio...

Jose G.