Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/10/2011, 12:04
javier2101
 
Fecha de Ingreso: octubre-2011
Ubicación: colombia
Mensajes: 5
Antigüedad: 13 años, 2 meses
Puntos: 0
estructura en listas simples

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

}