quisiera saber que debo cambiar en el codigo y si no es mucha molestia explicado para a ver si de una vez entiendo las benditas listas. gracias
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; } }
Si pueden me recomendarían algún tutorial donde expliquen el uso listas con ejemplos pero sencillos, que no tengan nombres extraños pues me paso descifrando cual es el puntero para siguiente, cual es el de inicio,por favor una ayuda, que me saque desde hueco de oscuridad.