Preguntas sobre programación en lenguaje C, tipos de preguntas para diseñar un diccionario inglés-chino
#includelt; stdio.hgt;
#includelt; includelt; math.hgt;
#define min(A,B) (Alt;B?A:B)
#define max(A,B) (Alt;B? B: A)
typedef struct Dict
{
char en[30];
char zh[30]; p> p>
struct Dict* siguiente
} Dict;
int main(void)
{
Dict; * head = 0;
int stucount=0; //Cantidad
while(1)
{
printf("Entrar el número de operación: 1: Entrada de vocabulario 2: Explorar 3: Chino-inglés 4: Inglés-chino 5: Eliminar 6: Salir: ");
int quest;
scanf( "d", amp; búsqueda);
scanf("*[^\n]");
if(quest==6)break;
else if(quest= =1)
{
Dict* newDict = (Dict*)malloc(sizeof(Dict));
printf(" Introduzca chino:") ;
scanf("29s", newDict-gt;zh);
scanf("*[^\n]");
printf(" Ingrese inglés: ");
scanf("29s", newDict-gt; en);
scanf("*[^\n]" );
//Inserta el encabezado de la lista vinculada para que la última incorporación se muestre en la parte superior y el efecto sea fácil de ver
newDict-gt;
head=newDict;
estucount;
}
else if(quest==2)
{
if(head==0 )
printf("¡Sin palabras! \n");
else
{
printf("Comenzar a buscar palabras:\n");
while(1 )
int st=0, en=min(st 10, stucount);
{
printf("Examinar: d a d palabras\
n", st 1, en);
Dict* stu = head;
for(int i=0; ilt; st; i)
{
stu=stu-gt; siguiente;
}
for(int i=st; ilt; en; i)
{
printf("Chino: s Inglés: s\n", stu-gt; en, stu-gt; zh);
stu=stu-gt; /p>
}
printf("Ingrese el número de operación: 1 para retroceder la página; 2 para avanzar la página; -1 para salir:
int squest; /p>
scanf("d", y squest);
scanf("*[^\n]");
if(squest==1 )
{
if(es!=stucount) st=es;
}
else if(squest==2)
{
st=max(0, st-10);
}
else if(squest==-1) romper ;
es=min(st 10, stucount);
}
}
}
else if(búsqueda==3 || búsqueda==4 || búsqueda==5)
{
char a[30];
if( búsqueda ==3)printf("Ingrese el vocabulario chino:");
else if(quest==4) printf("Ingrese el vocabulario en inglés:");
else if (quest==5) printf("Ingrese las palabras que desea eliminar (tanto en chino como en inglés):");
scanf("29s",
scanf); ("*[^\n]");
Dict* stu = cabeza;
Dict* lststu = 0
int flag=0; /p>
mientras(¡stu!=
0 amperio; bandera ==0)
{
if(quest==3)
{
if(strcmp (a, stu-gt; zh)==0)
{
printf("El inglés es: s\n", stu-gt; en);
bandera=1;
}
}
si(quest==4)
{
if(strcmp(a, stu-gt; en)==0)
{
printf("Chino: s\n", stu-gt; zh)
bandera=1
}
}
si(quest==5)
{
if(strcmp(a,stu-gt;en)==0 || strcmp(a,stu-gt;zh)==0)
{ p >
stucount--;
if(lststu!=0)
lststu -gt; siguiente = stu -gt
else
cabeza = stu -gt; siguiente;
printf("¡Eliminado!\n");
bandera=1;
}
lststu=stu;
stu=stu-gt; siguiente
}
si; (flag==0)
{
printf("¡No se encontró vocabulario! \n");
}
}
}
devuelve 0;
}
Comprueba si es correcto y ejecuta. Si hay nuevos requisitos, puedo seguir escribiendo. Si no entiendes algo, te lo puedo explicar.