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;
}
}


Este tema le ha gustado a 2 personas