Código:
#include <iostream.h> #include <conio.h> #include <stdlib.h> typedef int tipo; struct estudiante { char nombre[50]; char apellido[50]; char telefono[50]; char edad[50]; } ; struct nodo{ //esta es la estructura del nodo tipo s_dato; nodo* s_sig; }; void crear(nodo**); void insertar(nodo**, tipo); void quitar(nodo**, tipo); void recorrer(nodo**); int buscar(); int main() { nodo* cabeza; int dat; int dato; char op; struct estudiante x; crear(&cabeza); system("pause"); df: //tambien se puede hacer con do while cout << "1.-INSERTAR" << endl; cout << "2.-VER" << endl; cout << "3.-QUITAR" << endl; op = getch(); switch(op) { case '1': cout << "introduce un nombre: "; scanf("%d",&x->nombre); cout << "introduce un apellido: "; scanf("%d",&x->apellido); cout << "introduce un telefono: "; scanf("%d",&x->telefono); cout << "introduce un edad: "; scanf("%d",&x->edad); insertar(&cabeza, dat); system("pause"); goto df; case '2': recorrer(&cabeza); system("pause"); goto df; case '3': cout << "introduzca dato a quitar"; cin >> dato; quitar(&cabeza,dato); goto df; } } void crear(nodo** siguiente) { *siguiente = NULL; } void insertar(nodo**siguiente, tipo dato) { struct estudiante *x; nodo* aux; x=s_sig= NUll; aux = estudiante; aux->s_dato = dato; aux->s_sig = (*siguiente); *siguiente = aux; } void quitar(nodo**siguiente, tipo dato) { nodo* ptr,*ant; ptr = *siguiente; ant = NULL; while (ptr!= NULL && ptr->s_dato!=dato) { ant = ptr; ptr = ptr->s_sig; } if ( ptr->s_dato!=dato) { cout << "dato no existe"; } else ant->s_sig = ptr->s_sig; delete ptr; } void recorrer(nodo**siguiente) { nodo* ptr; ptr = *siguiente; while (ptr!= NULL) { cout << ptr->s_dato << endl; // aqui es donde necesito mostrar la estructura ptr=ptr->s_sig; } }