[C con Clase] Problema usando un array insertado en una lista, que apunta a otra lista...

Toni tsptoni en gmail.com
Jue Jun 3 12:55:39 CEST 2010


Buenos días,

Estoy con un trabajo sobre ficheros, el cual es un poco enredoso a la hora
de usar los distintos tipos, concretamente tengo problemas en usar el array
de tipo puntero, que esta en un nodo llamado nodocliente de tipo T_cliente,
y dicho array, que es de tipo puntero apunta a un campo del nodo
"nodopaquete" de tipo T_paquete.

A continuación os muestro mi declaración de tipos:

typedef struct nodopaquete* T_paquete;
          typedef struct nodocliente* T_cliente;

          const unsigned MAX_RESERVAS=5; //numero maximo de reservas.

          typedef T_paquete T_turismo[MAX_RESERVAS-1];


                  struct nodopaquete {
                         T_paquete sig;
                         string cod_id;
                         unsigned plazas;
                         unsigned precio;
                         };



                  struct nodocliente {
                         T_cliente sig;
                         string nombre;
                         unsigned capital;
                         unsigned reservas;
                         T_turismo destinos;
                         };


          struct T_Datos {
                 T_cliente cliente;
                 T_paquete paquete;
                 };


El problema que tengo es intentar acceder al nodo que apunta cada puntero de
array mencionado antes, he intentado hacerlo de varias maneras, y ahora
mismo está del siguiente modo, y el compilador da error de: "cod_id no ha
sido declarado".

Os muestro mi procedimiento de "listar":

void listar (const T_Datos& datos){

     T_cliente aux;
     T_paquete ptr;

     ptr=datos.paquete;

     cout<<"-------------------------"<<endl;

     //Mostramos los distintos paquetes turísticos disponibles:
          while (ptr!=NULL){
               cout<<ptr->cod_id<<" "<<ptr->plazas<<" "<<ptr->precio<<endl;
               ptr=ptr->sig;
           }

     cout<<"-------------------------"<<endl;

     //A continuación se muestran los clientes y sus respectivas reservas.

     aux=datos.cliente;

         while (aux!=NULL){

               cout<<aux->nombre<<" "<<aux->capital;

                  //Y ahora mostramos las reservas las cuales están en el
array:

                      //Consultar como declarar y acceder al array insertado
en la lista.

                      for (int i=0; i<MAX_RESERVAS; i++){

                          if (aux->destinos[i]!=NULL){

                              cout<<" "<<aux->destinos[i].cod_id;

                           }
                        }
                  cout<<endl;

               }

     cout<<"-------------------------"<<endl;

 }


Espero vuestra ayuda, muchas gracias,

Saludos,
Antonio.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20100603/7761ca17/attachment.html>


Más información sobre la lista de distribución Cconclase