Colección de citas famosas - Slogan de motivación - Diccionario de lenguaje C todo

Diccionario de lenguaje C todo

# incluir & ltstdio.h & gt

# incluir & ltstring.h & gt

# incluir & ltmalloc.h & gt

# incluir & ltmath. h & gt

#Definir min(A,B)(A<b? Respuesta:B)

#Definir max(A,B)(A<b ? B:A

diccionario de estructura typedef

{

char en【30】;

char zh【30】;

p>

struct Dict * next

} Dict

int main(void)

{

dict * head = 0 ;

int stuccount = 0; //Cantidad

while(1)

{

Printf("Operando 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]);

si (búsqueda == 6) romper;

si no (búsqueda == 1)

{

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

Printf ("Ingrese chino: "); /p>

scanf("% 29s",new dict-& gt;zh);

scanf("%*[^\n]);

Printf( "Por favor ingrese inglés: ");

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

scanf ("%*[^\n]);

//Inserte el encabezado de la lista vinculada para que el último contenido agregado se muestre 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("Empezar a navegar por palabra:\n");

mientras(1)

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

{

printf("Explorar:% d a % d palabras\n", st +1, en);

Dict * stu = head

for (int I = 0; i<ST;++i)

{

Stu=Stu->next;

}

for(int I = st;i<en;++i)

{

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

Stu=Stu->Siguiente;

}

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

int squest

);

scanf ("% d", & ampsquest);

scanf ("%*[^\n]);

p>

if (squest == 1)

{

if (es!= número de estudiantes) ST = es;

}

si no (squest == 2)

{

ST = max (0, ST-10);

}

si no (squest = =-1) descanso ;

en = min (ST+10, estuco);

}

}

}

else if (misión == 3 | | misión == 4 | | misión == 5)

{

char a 【30】;

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

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

else if (quest == 5) printf ("Ingrese la palabra que desea eliminar (tanto en chino como en inglés):

scanf ("% 29s", a);

scanf("%*[^\n]);

Dict * stu = head

dict * lst stu = 0 ;

int flag = 0 ;

Y (¡Stu! = 0 & amp& ampflag==0)

{

si (misión == 3)

{

si (strcmp( a,stu->zh)=0)

{

Printf("Inglés: %s\n",stu->en);

bandera = 1;

}

}

si no (misión == 4)

{

if(strcmp(a,stu->en)=0)

{

p>

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

flag = 1; >}

si no (quest == 5)

{

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

{

stuccount-;

if (lst stu!=0)

lst stu-& gt; siguiente = stu-& gt;

Otro

head = stu-& gt; "¡Eliminado!\n");

flag = 1;

}

}

lststu = stu

Stu=Stu->Siguiente;

}

if (flag==0)

{

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

}

}

}

Devuelve 0;

}

Vea si puede 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.