//Registro de Personas-Pila en Listas Enlazadas (CONCESIONARIO CHEVROLET) Prof. Gregory Rivera #include<stdio.h> #include<stdlib.h> #include<string.h> struct pila{ char nombre[20]; int cedula; char telefono[25]; struct pila *sig; }*princ, *fin; int j=0; void apilar(){ struct pila *nuevo; nuevo=(struct pila *)malloc(sizeof(struct pila)); printf("INTRODUCIR CÉDULA:\n "); scanf("%d",&nuevo->cedula); printf("INTRODUCIR NOMBRE:\n"); scanf("%s",nuevo->nombre); printf("INTRODUCIR TELÉFONO:\n"); scanf("%s",nuevo->telefono); nuevo->sig=princ; if(princ==NULL){ princ=nuevo; }else{ nuevo->sig=princ; princ=nuevo; } j++; } void mostrar(){ struct pila *aux; aux=princ; if(aux==NULL){ printf("PILA VACIA\n"); }else{ while(aux!=NULL){ printf("CÉDULA: %d\nNOMBRE: %s\nTELÉFONO: %s\n\n", aux->cedula,aux->nombre,aux->telefono); aux=aux->sig; } } } void desapilar(){ struct pila *aux; struct pila *aux1; int cont; aux=princ; aux1=princ; cont=0; while(aux!=NULL){ if(aux->cedula==aux1->cedula){ if(cont==0){ princ=princ->sig; } } aux=aux->sig; aux1=aux; cont=1; } } main(){ int opc; do{ printf("\e[91m\n\n\n\t\tREGISTRO DE PERSONAS ***CONCESIONARIO CHEVROLET\t\t\t\t\n"); printf("\n\t\t\t\e[92m1. INGRESAR DATOS A LA PILA\n\t\t\t2. MOSTRAR DATOS DE LA PILA\n\t\t\t3. DESAPILAR DATOS EN LA PILA\n\t\t\t4. SALIR\n\t\t\t"); scanf("%d", &opc); system("clear"); switch (opc){ case 1: apilar(); break; case 2: mostrar(); break; case 3: desapilar(); break; default: printf("SALIR DEL SISTEMA\n"); break; } }while(opc!=4); }