Lo que hace el programa es insertar estructuras de tipo alumno en mi lista circular:
Código:
Y luego ingreso los datos en otra funcion:typedef struct persona { char nombre[20]; char apellido[20]; int edad; float sueldo; } item; typedef struct NodoLC { item dato; struct NodoLC *siguiente; } NODOLC;
Código:
y mis funciones de insertar e imprimir respectivamente:void ingresar() { system("CLS"); printf("Nuevo registro de alumno creado:\n\n"); item *alumno; alumno=(item*)malloc(sizeof(item)); alumno->nombre=(char*)malloc(30*sizeof(char)); alumno->apellido=(char*)malloc(30*sizeof(char)); printf("Nombre: "); gets(alumno->nombre); printf("\n\nApellido: "); gets(alumno->apellido); printf("\n\nBoleta: "); scanf("%d",&alumno->boleta); printf("\n\nCalificacion: "); scanf("%d",&alumno->calif); insertarDLC(&cab,alumno); free(alumno); }
Código:
void insertarDLC(NODODLC **cab,item *elem) { NODODLC *aux=(NODODLC*)malloc(sizeof(NODODLC)); aux->dato.nombre=elem->nombre; aux->dato.apellido=elem->apellido; aux->dato.boleta=elem->boleta; aux->dato.calif=elem->calif; aux->sig=aux->ant=aux; aux->sig=*cab; if(*cab) { aux->sig=(*cab)->sig; (*cab)->sig=aux; } *cab=aux; }
Código:
Espero alguien me pueda ayudar gracias!!!! void imprimirDLC(NODODLC *cab) { NODODLC *ptr=cab; int contador=1; if(cab==NULL) { printf("La lista esta vacia"); return; } for(; ptr;ptr=ptr->sig,contador++) { printf("%d.-",contador); printf("\tNombre: %s \n",ptr->dato.nombre); printf("\tApellido: %s \n",ptr->dato.apellido); printf("\tBoleta: %d \n",ptr->dato.boleta); printf("\tCalificacion: %d \n",ptr->dato.calif); } }