La Red de Conocimientos Pedagógicos - Currículum vitae - Lenguaje C, quiero ingresar información sobre 10 libros. ¿Cómo crear una lista enlazada? Gracias.

Lenguaje C, quiero ingresar información sobre 10 libros. ¿Cómo crear una lista enlazada? Gracias.

Escribí directamente la asignación de funciones sin escribir la entrada del teclado. Tienes que agregarlo tú mismo.

El siguiente es el código, lo he comentado detalladamente.

# include & ltstdio.h & gt

# include & ltmalloc.h & gt

# include & ltstring.h & gt

typedef? estructura? Libro//Configuré aleatoriamente varios miembros para la estructura del libro, puedes cambiarlo tú mismo.

{

¿Ciel? Nombre[20];

¿Carácter? Escriba[10];

int? Fecha;

estructura? ¿Libro? *Siguiente;

} bk

int? ¿principal? ()

{

bk? *addBook(bk?*bkTail, char?*vName, char?*vType, int?vDate);

bk? *bk0=(bk?*)malloc(sizeof(bk)); //Solicita el espacio de memoria del puntero del primer nodo.

¿bk? * bkTail = bk0//Define un puntero de nodo final.

¿bk? *bkHead=(bk?*)malloc(sizeof(bk));

bk head-& gt; next = bk0//Defina un nodo principal para recorrido, sin colocar datos, y su puntero de lista de miembros apunta al nodo principal.

bk0->; name[0]= 0;

// - No lo escribiré después de unirme, así que pondré cuatro libros a prueba primero y tienes que agregarlos tú mismo.

BkTail=addBook(bkTail, "Lenguaje C desde la entrada hasta el entierro", "TI/Ciencia", 20171220);

BkTail=addBook(bkTail, "De la entrada hasta el entierro" jave", "TI/Ciencia", 20171225);

BkTail=addBook(bkTail, "De los primeros pasos a la base de datos enterrada", "TI/Ciencia", 20171226);

BkTail=addBook(bkTail, "Aprende a crecer por ti mismo", "Educación", 20171230);

Printf("Se ha ingresado la información del libro\ n ");

/ / - Print

Printf("Comenzar a imprimir la información del inventario del libro\n ");

while(bk head-& gt; next!=null)

{

Printf("Nombre del libro: %s, categoría del libro: %s, fecha de almacenamiento: %d\n ", bk head-& gt; next-& gt; nombre, bk head-& gt ;siguiente->tipo, bk head->siguiente->fecha);

bk head = bk head->siguiente;

}

¿Regresar? 0;

}

bk? *addBook(bk?*bkTail, char?*vName, char?*vType, int?VDate)//¿Crear 1 nuevo nodo de lista vinculada de libros? ¿Unirse al final de una lista vinculada? y regresa al nodo de entrada actual.

//Parámetro 1? Dirección del nodo de cola;? Los otros parámetros son datos de miembros de entrada.

{

if(bk tail-& gt;Name[0]==0)//primera entrada

{

strcpy(bk tail->Nombre,vName);

strcpy(bk tail->tipo,vType);

bk tail->fecha = vDate

bk tail->next = NULL

¿Regresión? bkTail

}

Otros

{

bk? *newBk=(bk?*)malloc(sizeof(bk));

strcpy(newBk-& gt; nombre, vName);

strcpy(newBk-& gt; tipo , vType);

newBk-& gt;date = vDate

newBk->next = NULL

bk tail->next = newBk

¿Regresar? nuevoBk

}

}