c Festival de la lengua

Estructura del diccionario. biblioteca estándar de c++

O utilice la búsqueda de cadenas.

= = =Por ejemplo, he escrito un programa de comparación inglés-chino antes (relativamente aproximado) y el marco se puede aplicar.

======main.cpp

# incluir & ltiostream & gt

# incluir & ltfstream & gt

# incluir & ltstring& gt

# incluir & ltvector & gt

# incluir & ltiomanip & gt

const int MAXNUM = 100;

Utilice el espacio de nombres std

Estructura list_w

{

string en

String cn;

};

Comparación de categorías

{

Público:

operador int () (const lst _ w & ampl1, const lst _ w & ampl2) constante

return l 1. en & lt; l2.en

}

};

void trans(char *);

void trans(string);

string NULL_str("NULL");

Cadena a cadena. get(string);

Vector & ltlst_w>Li;

int main()

{

if stream fi("list.txt ");

Cadena str

int tmp

int I = 0;

Y (! fi.eof()

{

getline(fi, str);

tmp = str.find(':');

李[i]. en = str substr(0, tmp);

Li[i]. en = substr(tmp+1, string::NPOs);

if (李[. i].En!="")

//cout ancho(9);

//cout & lt;& ltLi[i] 】. traducido como: "

i++;

}

fi. close();

of stream fo("list . txt"

sort(Li . comenzar(), Li . comenzar()+I, Compare_lst_w_en();

for (int j = 0;j<i;j++)

{

fo & lt& lt李【j】.

cn & lt& ltendl

}

fo .

//getline(CIN, str); trans(str);

trans("Atrapé a tu perro con una pata rota");

//cout <<me;

getchar() ;

}

Transacción no válida (char *cstr)

{

Cadena str(CSTR );

Return trans(str);

}

void trans (string)

{

//string str (CSTR);

Palabra de cadena;

Cadena enl, cnl

int n =-1;

int old _ n = 0;

n = str.find('');

mientras(n!=-1)

{

palabra = substr. (antiguo_n, n-antiguo_n);

int sp = tamaño de palabra()-get(palabra). tamaño();

if (sp>0){

enl+= palabra;

enl+="";

cnl+= get(palabra);

cnl+= string(1+sp,");

}de lo contrario

{

enl+ = palabra ;

enl+= cadena(1-sp,");

cnl+= get(palabra);

cnl+="";

}

old_n = n+1;

n = str.find('',old_n);

}

palabra = str . substr(old_n,cadena::NPO);

if (palabra!="")

{

enl+= palabra;

cnl+= get(palabra);

}

cout & lt& ltenl & lt& ltendl

cout & lt& ltcnl & lt& ltendl

}

Cuerdas y cuerdas. get(comando de cadena)

{

int I;

for(I = 0;i<Li . size();i++)

{

Si (李[i].en==instr)

Devuelve 李[i]. cn;

}

Devolver null _ str

}

=======list.txt

A: uno

Atrás: atrás

Ábaco: ábaco

Abalone: ​​abalone

Ríndete: ríndete

Humillación: humillación.

Vergüenza

Atenuar: hacer más pequeño

Matadero: matadero

Abadesa

abadía: abadía

abad: abad

abreviatura: abreviatura

abdicación: retiro

abdomen: abdomen

Secuestro:Secuestro

Abdi: En la cama.

Anormal: inusual

Anormal

Instigación: estímulo

Amy: Sí

Ann: uno

Además: y

animal: animal

es: sí

bit:bit

gato:gato

atrapar: atraparlo

camaleón:camaleón

computadora:computadora

diccionario:diccionario

Perro:Perro

Editar:Editar

Fin:Fin

Extinción:Extinción

Archivo:Archivo

Vale

Bien:Está bien

Él:Él

Yo:Yo

Lesionado: lesionado

es: sí

eso: eso

pierna: pie

lista:lista

mío: mi

mi:mi

el:de

uno:uno

o:o

Agregar: agregar

Ejecutar: ejecutar

Ella: ella

Cielo: Dios

Inicio: inicio

Sistema: Sistema

Qué: Entonces

Sus: Sus

Ellos: Ellos.

Dos: dos

Palabra: palabra

Tú: tú

Tu: tu

Cero :cero