Diccionario chino

# incluir ltstdio.h gt

# incluir ltstring.h gt

# incluir ltmalloc.h gt

# incluir ltmath.h gt

#Definir min(A,B)(Alt;b?Answer:B)

#Definir max(A,B)(Alt;b?B:A

typedef diccionario de estructura

{

char en【30】;

char zh【30】;

struct Dict * next< /p >

} Dict

int main(void)

{

dict * head = 0

int stuccount = 0; ; //Cantidad

while(1)

{

Printf("Operandos de entrada: 1: Entrada de vocabulario 2: Explorar 3: Chino-inglés 4: Inglés-chino 5: Eliminar 6: Salir: ");

int quest

scanf (" d", ampquest);

scanf("*[ ^\n]);

if (búsqueda == 6) romper

si no (búsqueda == 1)

{

Dict * new Dict = (Dict *) malloc (sizeof (Dict));

Printf ("Ingrese chino:

scanf (" 29s ", nuevo dict- gt;zh);

scanf("*[^\n]);

Printf("Ingrese inglés: ");

scanf ("29s", new dict- gt; en);

scanf("*[^\n]);

//Inserta el encabezado de la lista enlazada para que el último agregado El contenido se muestra en la parte superior, lo que facilita ver el efecto.

nuevo dict- gt; next = head

head = newDict

stuccount;

}

else if (quest == 2)

{

if (head == 0)

Printf("¡Nada que decir!\n");

Otro

{

Printf("Comenzar a navegar por palabra:\n");

mientras(1)

int st=0,en=min(st 10,stuccount);

{

printf("Buscar: d a d palabras\n",st 1,en);

Dict * stu = cabeza

for(int I = 0; iltST; i)

{

Stu = Stu - gt ; siguiente;

}

for (int i = st; i lten; i)

{

Printf( "Chino: sInglés: s\n", stu- gt; Bueno, Stu- gt; zh);

Stu=Stu-gt; next;

}

Printf ("Ingrese el número de operación: 1 página hacia atrás; avance 2 páginas; -1 salida:

int squest

scanf ("d", ampsquest);

scanf("*[^\n]);

if (squest == 1)

{

if (en! = stu contar) ST = en;

}

si no (squest == 2)

{

ST = max (0, ST-10);

}

si no (squest = =-1) break;

en = min(ST 10,stuccount);

p>

}

}

}

si no(búsqueda == 3 | | búsqueda == 4 | | búsqueda == 5)

{

char a【30】;

if (quest == 3) printf ("Ingrese vocabulario chino: ");

else if (quest == 4) printf ("Ingrese la palabra en inglés: ");

else if (quest == 5) printf ("Ingrese la palabra que desea eliminar (ambas). Chino e inglés): ");

scanf (" 29s ", a);

scanf ("*[^\n]);

Dict * stu = cabeza

dict * lst stu = 0;

int flag = 0

Y (Stu! = 0 amperios ampflag==0)

{

if (quest == 3)

{

si (strcmp(a , stu- gt; zh) = 0)

{

Printf("Inglés: s\n", stu- gt;en); = 1;

}

}<

/p>

else if (quest == 4)

{

if (strcmp(a,stu- gt; en) = 0)

{

Printf ("El chino es: s\n", stu- gt; zh

flag = 1;

}

);

}

else if (quest == 5)

{

if (strcmp(a,stu- gt; en) == 0 | | strcmp (a, stu- gt; zh) = 0)

{

stuccount-;

if (lst stu!=0)

lst stu- gt; next = stu- gt;

Otro

head = stu- gt;

Printf (" ¡Eliminado!\n");

bandera = 1;

}

}

lststu = stu

Stu=Stu-gt;Siguiente;

}

if (flag==0)

{

Printf("Palabra ¡no encontrado!\n ");

}

}

}

Devuelve 0;

}

A ver si puedes correr. Si hay nuevas necesidades, puedo seguir escribiendo. El código debe ser muy claro. Si no entiendes nada te lo puedo explicar. Las preguntas son bienvenidas.