Colección de citas famosas - Slogan de motivación - Buscando el Diccionario Oxford

Buscando el Diccionario Oxford

Entre ellos, al leer y escribir archivos, los archivos de encabezado incluidos y los métodos principales son los siguientes:

# include ltfstream.h gt

# include ltstring.h gt

# include ltiostream.h gt

//Método para leer archivos

archivo fstream;

file.open("data.txt", IOs ::in); //Abre el archivo data.txt leyendo.

File.eof() determina si el archivo ha sido leído.

file.getline(char *line, int n)

El método getline se utiliza para leer una línea de caracteres de un archivo. Entre ellos, la primera línea de parámetro es un puntero de carácter a una cadena o una matriz de caracteres utilizada para almacenar una cadena, y n representa el número máximo de caracteres que se leerán esta vez.

//Método para escribir en un archivo

file.open("data.txt", IOs::out); //Abre el archivo data.txt escribiendo.

file.write(char *line, int n)

El método de escritura se utiliza para escribir una línea de caracteres en un archivo. Entre ellos, la primera línea de parámetro es un puntero de carácter a una cadena o una matriz de caracteres utilizada para almacenar una cadena, y n representa el número de caracteres escritos esta vez.

Archivo. put (char c), el método put se utiliza para escribir caracteres en un archivo.

file.close(); //Cerrar el archivo, ya sea leyendo o escribiendo el archivo. Debe cerrar el archivo después de su uso.

El proceso es el siguiente. Después de la modificación, no hay errores ni advertencias. Pero se bloquea al buscar, insertar y eliminar palabras en tiempo de ejecución. Por favor dame algún consejo. ¿Qué está sucediendo? ¡Muchas gracias!

Diccionario. h

#ifndef _DICTIONARY_H

#define _DICTIONARY_H

const int tamaño = 30

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

diccionario::diccionario() // Si el registro está vacío, crea un * como El fin.

{

text.open("d:\\tiny-dict.txt", IOs::in|IOs::out);

if (texto . eof())

Texto lt "* ";

texto close()

}

void. Diccionario::findWord()

{

cout lt lt "Ingrese la palabra que desea consultar."

Palabra de cadena;

CIN gt; gt word;

text.open("d:\\tiny-dict.txt", IOs::in); //Abre el archivo para leer.

int I = 0;

while(1)

{

Temperatura de cadena;

Texto gt gttemp

if (temp == "*") //Agrega * al final de los datos para indicar el final del archivo.

{

cout lt lt"No se puede encontrar la palabra.

"

Descanso;

}

si (palabra == temp)

{

cout lt lt "Interpretación: ";

Hacer

{

Texto gt gttemp

if (temp == "") // En explicación

romper;

cout lt lttemperaturelt lt" ";

} while(temp!="") ;

cout lt ltendl

}

if (temp =="")

Descanso;

I = tamaño

text.seekg(I, IOs::beg);

}

text.close();

}

diccionario vacío : :insertWord()

{

cout lt lt "Ingrese la palabra que desea agregar. "

Palabra de cadena;

CIN gt; gt palabra;

cout lt lt" Ingrese la definición de la palabra que agregó. "

Interpretación de cadena;

CIN.ignore();

getline(CIN, interpretación);

cout lt lt interpretación lt ltendl

text.open("d:\\tiny-dict.txt", IOs::in|IOs::out);

char z;

int I =-size;

while (z!='*' amp; ampz!=' ')//* indica el final, indicando el área que queda al eliminar la palabra

{

I = tamaño;

text.seekp(uno);

texto gt gtz; / p>

if (palabra . longitud () paráfrasis . longitud () 4 > tamaño) // El espacio entre la palabra y su definición y el espacio utilizado para marcar el final más un espacio, es decir, más 4.

{

cout lt lt la entrada es demasiado larga, la inserción falló < ltendl

Retorno

}

texto; seekp (I, IOs::beg);

Texto lt lt palabra lt """ lt parafrasear lt lt " ";

if (z = =' ')

{

texto . close();

Regresar;

}

texto . tamaño, IO: :beg);

Texto lt "* ";

texto .

}

Diccionario vacío: :deleteWord()

{

cout lt lt "Ingrese la palabra que desea eliminar.

"

Palabra de cadena;

CIN gt; palabra gt;

text.open("d:\\tiny-dict.txt", IOs: : in | IOs::out);

Cadena eliminada;

int I =-size;//Marcar posición eliminada

Hacer

p>

{

I = tamaño;

texto . seekg(I);

Texto gt gt eliminado

if( Eliminado = ="*")

{

cout lt lt"No se puede encontrar la palabra, la eliminación falló"< ltendl

Regresar;

}

}mientras (¡eliminado!= palabra);

text.seekp(1);

Texto lt lt" " //El el primer elemento está marcado, lo que indica vacío

for (int j = 1; j lt size; j)

{

Texto.

}

cout lt lt"Eliminado correctamente. "

text.close();

}

#endif

Página principal

Usar STD: :cout;

Usar std::endl;

Usar std::cin;

# incluir ltfstream gt

Usar std: :IOs;

Usar std::fstream;

# incluir lt string gt

Usar std::string;

Usar STD ::getline;

#Contiene "dictionary.h"

Diccionario de clasificación

{

Público:

Diccionario();

anular buscar palabra();

anular insertar palabra();

anular eliminar palabra();

Privado:

texto fstream;

};

Comando no válido()

{

cout lt lt"Por favor seleccione:\n(1). Encuentra la palabra\n(2). Insertar palabra\n(3). Eliminar palabra\n(4). Salir\n";

}

int main()

{

Instrucción();

int select = 0;

CIN gt; gt select

mientras (¡seleccione! = 1 amperio; ¡seleccione amperio! = ¡seleccione amperio de 2 amperios! = 4 )

{

cout lt lt"Selección incorrecta, seleccione nuevamente.

"< ltendl

Instrucción();

CIN gt; selección gt;

}

Operación del diccionario;

bool exe = true

mientras (exe)

{

Cambiar (seleccionar)

{

Caso 1:

oper . buscar palabra();

Break;

Caso 2:

insertar palabra(). ;

Pausa;

Caso 3:

oper .delete word();

Pausa;

Caso 4:

exe = false

Romper

}

if (select == 4)

break;

instrucción();

cin gt; gt select;

while(select! = 1 amp; amp select! = 2 amp amp select ! = ¡Selección de amplificador de 3 amperios! =4)

{

cout lt "Selección incorrecta, seleccione nuevamente. "< ltendl

Comando();

CIN gt; gt select;

}

}

Devuelve 0;

}

D: \\tiny-dict.txt es el siguiente: (Es un diccionario inglés-alemán, la columna de la izquierda es inglés y la columna de la derecha es Alemán)

Greifvogel Bird Laubvogel

Conejo enlatado

Monkey Affe

Mapfield

Krebs el Cangrejo Krabi

Billete Águila Adler, Dólar Zen Aar