diccionario de texto en idioma c
# 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 stu count = 0; //Cantidad
while(1)
{
Printf("Operando de entrada: 1: Vocabulario entrada 2: Explorar 3: Chino-Inglés 4: Inglés-Chino 5: Eliminar 6: Salir: ");
int quest
scanf("%d ", & ampquest) ;
scanf("%*[^\n]";
if(quest == 6)break;
si no(quest==1) )
{
Dict * new Dict =(Dict *)malloc(sizeof(Dict));
Printf("Por favor, introduzca chino:");
scanf("%29s ", nuevo dict-& gt; zh
scanf("%*[^\n]";
Printf); ("Ingrese inglés:");
scanf("%29s ", new dict-& gt; en);
scanf("%*[^\n]" ;
//Inserte el encabezado de la lista vinculada para que la última incorporación se muestre en la parte superior, lo que facilita ver el efecto.
nuevo dict-& gt; next = head;
head = newDict
++ recuento de estudis
}
p>
else if(quest==2)
{
if(head==0)
Printf( "¡Nada que decir!\n ");
Otros
{
Printf("Empiece a buscar palabras:\ n ");
while(1)
int st=0, en=min(st+10, recuento de estu);
{
Printf ("Examinar: %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-& gt; Next;
}
Printf("Ingrese el número de operación: 1 para pasar páginas hacia atrás; 2 páginas hacia adelante; - 1 Salir: ");
int squest
scanf("%d ", & ampsquest);
scanf("%*[^\n] ";
if(squest==1)
{
if (en! = stu count)ST = en;
}
si no(squest==2)
{
st=max(0, ST-10);
}
else if(squest = =-1)break;
en=min(st+10, recuento de estu);
}
}
}
else if(task==3 ||task==4 ||task==5)
{
char a[ 30];
If(quest==3)printf("Ingrese el vocabulario chino:");
Else if(quest==4) printf ("Ingrese el vocabulario en inglés word:");
Else if(quest==5) printf("Ingrese la palabra que desea eliminar (chino e inglés):");
scanf ("% 29s ", a);
scanf("%*[^\n]";
Dict * stu = head
dict * lst stu = 0 ;
int bandera = 0;
Y (Stu! = 0 & amp& ampflag==0)
{
if(quest==3)
{
if(strcmp( a, stu-& gt; zh)==0)
{
Printf("Español:%s\n ", stu-& gt;en);
bandera = 1;
}
}
si no(quest==4)
{
if(strcmp(a,stu-& gt;en)==0)
{
Printf("El chino es: %s\n ",stu- & gt;zh);
bandera = 1;
}
}
else if(quest==5)
{
if(strcmp(a,stu-& gt;es )==0 || strcmp(a,stu-& gt;zh)==0)
{
stu cuenta-;
if(lststu ! =0)
lst stu-& gt; siguiente = stu-& gt;
Printf("¡Eliminar! \ n ");
bandera = 1;
}
}
lststu = stu
stu = stu-> next;
}
if (flag == 0)
{
Printf("¡Palabra no encontrada! \ n ");
}
}
}
Regresar 0;
}
A ver si puedes correr. Si hay nuevas necesidades, puedo seguir escribiendo. El código debe ser muy claro. Si no entiendes algo te lo puedo explicar. Las preguntas son bienvenidas.