c Diccionario Inglés
# 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];
}Artículo;
búsqueda fpos_t (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) {
Prin
tf("¡No hay registro de esta palabra en el diccionario!\n ");
Return;
}
p-;
memset( amp; I, 0, szITEM);
f = fopen(fileDict, " r b ");
fset pos(f amp; p);
fwrite(amp;I,szITEM,1,f);
fclose(f);
Printf("Entrada eliminada\n ");
}
Edición no válida (no válida)
{
Primer elemento; archivo* f = 0; fpos_t p = 0;
p>
memset(amp;I,0,szITEM);
Printf("Ingrese una palabra: "); scanf("s ",I. palabra);
p = lookup(es decir, palabra, 0);
if(p==0) {
Printf("¡No hay ningún registro de esta palabra en el diccionario!\n ");
p>
Return;
}
p-;
Printf("Por favor, introduzca una definición y presione Enter para finalizar (Presione Enter para cancelar y abandonar la modificación): ");
fflush(stdin);
gets(I . quiero decir);
if(strstr str(es decir, "abortar"){ p>
Printf("¡Modificación abortada! \ n ");
Regresar;
}
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). )
{
Primer elemento; fpos _ t p = 0;
memset( amp; I, 0, szITEM); p>Printf("Ingrese una palabra: "); scanf( "s ", I. palabra);
p = lookup(i.palabra, I. quiero decir);
if(p==0) {
Printf("¡No hay ningún registro de esta palabra en el diccionario! \ n ");
Return
}
printf(" Entrada s \ n interpretación s ",i.word,I.mean);
}
Conjunto no válido (no válido)
{
int cmd = 0 ;
Printf("El diccionario actual es s, ¿es necesario cambiarlo (seleccione Y o Y para cambiarlo)? ", 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 al Mini Diccionario! \n\
* * * * * * * * * * * * * * * * * * * * * * * * * * \ n \
* * 0- Configurar diccionario**\n\
* * 1-Término de consulta**\n\
* * 2-Nueva entrada**\n\
* * 3-Editar entrada**\n\
* * 4-Eliminar entrada**\n\
* * 5-Salir del diccionario**\n\ p >
* * * * * * * * * * * * * * * * * * * * * * * * * \ n ");
cmd = getch()-' 0 ' ;
Cambiar (cmd) {
Caso 0: set(); break;
Caso 1: query();
Caso 2: append(); romper
Caso 3: editar(); romper
Caso 4: borrar(); > Valor predeterminado: Devuelve 0;
}
}
Devuelve 0;