#include #include #include #include typedef struct tcarrera{ int codigo; tcad nombre; int duracion; int mat_total; tcad titulo; }; typedef struct tnodo_carrera *pcarrera; typedef struct tnodo_carrera{ tcarrera dato; pcarrera sig; pcarrera ant; }; typedef struct tlista_carrera{ pcarrera inicio; int cont; }; void iniciar_lista_car(tlista_carrera &lis) { lis.inicio=NULL; lis.cont=0; } void cargar_carrera(tcarrera &car) { cout<<"Ingrese codigo: "; cin>>car.codigo; cout<<"Ingrese nombre: "; fflush(stdin); gets(car.nombre); cout<<"Ingrese duracion"; cin>>car.duracion; cout<<"Ingrese total de materias: "; cin>>car.mat_total; cout<<"Ingrese titulo: "; fflush(stdin); gets(car.titulo); } void crear_carrera(pcarrera &nuevo) { tcarrera car ; nuevo=new tnodo_carrera; if(nuevo!=NULL) { cargar_carrera(car); nuevo->dato=car; nuevo->sig=NULL; nuevo->ant=NULL; } } void agregar_final_carrera(tlista_carrera &lis, pcarrera nuevo) { pcarrera i; if(lis.inicio==NULL) { lis.inicio=nuevo; lis.cont++; } else { for(i=lis.inicio;i->sig!=NULL;i=i->sig); nuevo->ant=i; i->sig=nuevo; lis.cont++; } } void mostrar_carrera(tcarrera car) { cout<<"\ncodigo: "<sig) mostrar_carrera(i->dato); } void menu_carrera(tlista_carrera &lis) { pcarrera nuevo, extraido; int opcion; do{ system("cls"); menu_gral(opcion); switch(opcion) { case 1: crear_carrera(nuevo); agregar_final_carrera(lis, nuevo); break; case 2: /*extraido=quitar_inicio_car(lis); if(extraido!=NULL) { mostrar_carrera(extraido->dato); delete(extraido); } else cout<<"lista vacia"<