Colección de citas famosas - Slogan de motivación - Programación en lenguaje C, diseño de diccionario electrónico inglés-chino

Programación en lenguaje C, diseño de diccionario electrónico inglés-chino

/*Funciones básicas de la biblioteca*/

# include ltconio.h gt

# include ltstdio.h gt

# include ltstdlib.h gt

# incluir ltstring.h gt

#definir szWORD 32

#definir szSTRN 224

# definir szITEM sizeof(struct TItem)

char fileDict[SZ strn];

elemento de estructura typedef{

char word[SZ word];

char mean[SZ strn];

}item;

fpos_t search (char *palabra, char *media)

{

Archivo * f = 0; ;

int r = 0; fpos _ t p = 0;

if (!word) devuelve 0

f = fopen(fileDict, " Rb "; );

Si (!f) devuelve 0;

Y (!feof(f)) {

fgetpos(f amp; p);

p>

r = fread(amp;I,szITEM,1,f);

if(r lt;1) rompe el bit;

if(i.word [ 0] == 0) continuar;

if (strcmp (i.palabra, palabra)) continuar

if (media) strcpy (media, I. media); /p>

p>

fclose(f);

Devolver p 1;

}

fclose(f);

Devuelve 0 ;

}

void append (void)

{

Primer archivo * f = 0; ; fpos _ t p = 0;

memset(amp;I,0,szITEM);

Printf("Ingrese una palabra: "); . palabra);

p = búsqueda(es decir, palabra, 0);

If (p) {

Printf("Esta palabra ha sido registrada en el diccionario!\n ");

Return;

}

Printf("Ingrese una definición y presione Enter para finalizar: ");

fflush (stdin);

gets(I . quiero decir);

f = fopen(fileDict, "ab"); amp; I, ​​​​szITEM , 1, f);

fclose(f);

Printf("Entrada agregada\n ");

Borrado no válido(no válido)

{

Primer elemento; archivo * f = 0; fpos_t p = 0; amp; I , 0, szITEM);

Printf ("Ingrese una palabra: "); scanf ("s ", I . palabra); palabra, 0 );

if(p==0)

{

Printf("¡No hay registro de esta palabra en el diccionario! \ n "

Return

}

p- ;

memset( amp; I, ​​​​0, szITEM);

f = fopen(fileDict, " r b "); pos(f amp; p);

fwrite( amp; I, ​​​​szITEM, 1, f

fclose(f); ("La entrada ha sido eliminada\n ");

}

Edición no válida (no válida)

{

Primer elemento; file * f = 0; fpos _ t p = 0;

memset(amp;I,0,szITEM);

Printf("Ingrese una palabra: "); "s ",I . palabra) ;

p = búsqueda(es decir, palabra, 0);

if(p==0) {

Printf( "¡No hay registro de esta palabra en el diccionario!\n ");

Regresar;

}

p-;

Printf("Ingrese una definición y presione Enter End (presione Enter para cancelar las modificaciones): "); /p>

if(strstr str( Eso es "abort"){

Printf("¡Modificación abortada!\n ");

Return;

}

f = fopen(fileDict, " r b ");

fset pos(f amp; p);

fwrite( amp; I, ​​szITEM, 1, f);

fclose(f);

Printf("Entrada guardada\n ");

}

Consulta no válida (nula)

{

El primer elemento; fpos _ t p = 0

memset( amp; I, ​​​​0, szITEM);

Printf("Ingrese una palabra: "); scanf("s ", I. palabra);

p = lookup(i.palabra, quiero decir); );

if(p==0 ) {

Printf("¡No hay registro de esta palabra en el diccionario! \ n "); Return;

}

printf (" Entrada s \ n interpretación s ", es decir, palabra, es decir

}

<); p>Conjunto no válido (no válido)

{

int cmd = 0;

Printf("El diccionario actual es s, ¿necesita cambiarlo ( seleccione Y o Y para cambiar)? ", fileDict);

cmd = getch();

if(cmd == 'y' || cmd == 'Y') {

Printf("Ingrese el nombre del archivo del diccionario (incluida la ruta): ");

scanf("s ", fileDict

Printf("¡Se configuró correctamente!\n ");

}

}

int main(int argc, char * argv[])

{

int cmd = 0;

if(argc gt;1)

strcpy(fileDict, argv[1]);

Otro

strcpy(fileDict, "c:\\dict.txt");

/*end if*/

for(;;) {

printf ("\n\

* * * * * * * * * * * * * * * * * * * * * * * * * \ n \

* *Bienvenido ¡Usa el mini diccionario! **\n\

* * * * * * * * * * * * * * * * * * * * * * \n \

* * 0-Establecer diccionario**\n\

* * 1-Términos de consulta**\n\

* * 2-Nueva entrada**\n\

* * 3-Editar entrada**\n\

* * 4-Eliminar entrada**\n\

* * 5-Salir del diccionario**\ n \

* * * * * * * * * * * * * * * * * * * * * * * * * \ n ");

cmd = getch() -' 0 ';

Cambiar (cmd) {

Caso 0: set();

Caso 1: consulta(); /p>

Caso 2: append(); romper;

Caso 3: editar(); romper; >

p>

Valor predeterminado: devuelve 0;

}

}

Devuelve 0;

}