Red de conocimiento informático - Material del sitio web - Cómo hacer un traductor usando lenguaje C

Cómo hacer un traductor usando lenguaje C

Escribí un traductor simple que solo proporciona traducción de palabras, ya sea del chino al inglés o del inglés al chino. Primero debes ingresarlo en el diccionario. Después de la entrada, se generará automáticamente un archivo dic.txt en el directorio.

#include "stdio.h"

#include "stdlib.h"

#include "string.h"

# define NOMBRE DE ARCHIVO "dic.txt"

estructura palabra //Estructura del diccionario

{

char chino[20] //chino

< p; > char inglés[20]; //inglés

};

//////////////////////// /////////////////////////////////////////

ARCHIVO *FP ; / /Puntero de archivo global

FILE * FileOpen(char FileName[]) //Función de apertura de archivo

{

FILE *fp;

if((fp=fopen(FileName,"r"))==NULL)

{

fp=fopen(FileName,"w");

cout<<"Error al abrir el archivo, vuelva a crear el archivo de registro";

return fp;

}

fp=fopen(FileName ,"a+") ;

return fp;

}

void FileClose(FILE *fp) //Función de cierre de archivos

{

if(fclose(fp)==0)

cout<<"Cierre seguro"<

else

cout<<" Error al cerrar el archivo"<

}

////////////////////// ////// ////////////////////////////////////////

void tra1() // módulo de chino a inglés

{

FILE *fp;

if((fp=fopen(FILENAME,"r" ))==NULL)

{

printf("¡Error al abrir el archivo! ");

}

char tempchinese[20];

word temp;

printf("Ingrese una palabra china: " );

scanf("%s",tempchinese);

while(fread(&temp,sizeof(word),1,fp)==1)

{

if(strcmp(temp.chinese,tempchinese)==0)

{

printf("Chino: %s Inglés: % s \n",temp.chinese,temp.english);

}

}

printf("¡Búsqueda completada!");

FileClose(fp);

}

/////////////////////////// /// ///////////////////

vacío

tra2() //Traducción del inglés al módulo chino

{

ARCHIVO *fp;

if((fp=fopen(FILENAME,"r")) ==NULL)

{

printf("¡Error al abrir el archivo!");

}

char tempenglish[20];

word temp;

printf("Por favor, introduzca la palabra en inglés:");

scanf("%s",tempenglish);

while(fread(&temp,sizeof(word),1,fp)==1)

{

if(strcmp(temp.english,tempenglish)==0 )

{

printf("Chino: %s Inglés: %s \n",temp.chinese,temp.english);

}

}

printf("¡Búsqueda completada!");

FileClose(fp);

}

/ / /////////////////////////////////////////////////

void inp() //Módulo de entrada del diccionario

{

FP=FileOpen(FILENAME);

word temp;

printf("Ingrese inglés:");

scanf("%s",temp.english);

printf("Ingrese el chino correspondiente:" );

p>

scanf("%s",temp.chinese);

fwrite(&temp,sizeof(temp),1,FP);

printf("Información agregada completa");

FileClose(FP);

}

///////////// ////// ///////////////////////////////

int menu() // Módulo del directorio principal

{

int Choose;

while(choose!=0)

{

printf("\n");

printf("Sistema de traducción simple chino-inglés\n");

printf("1. Traducción chino->inglés\n") ;

printf ("2. Traducción inglés-chino\n");

printf("3. Entrada de diccionario\n");

printf( "Ingrese 0 para salir del sistema\n") ;

printf("Por favor ingrese:");

scanf("%d",&choose);

cambiar(elegir)

{

caso 0:return 0;break;

caso 1:tra1();break;

caso 2:tra2();romper;

caso 3:inp();romper;

}

}

}

/// //////////////////////////////////////// /////////////// //

void main()

{

menú();

}