Cordial saludo venia a molestarlos por acá, ya que he investigado y no he podido dar con este problema: tengo una lista simple que recibe un valor int, lo muestra y lo puede eliminar, pero me piden que muestre cuatro valores osea una estructura. he declarado la estructura, lo que no se es como hago para poder mostrar los datos de la estructura en la lista. A continuación pongo el código
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;
}
}