• Domingo 19 de Mayo de 2024, 17:52

Autor Tema:  Re: Ayuda con Multilista (please)  (Leído 1831 veces)

cyber

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Ayuda con Multilista (please)
« en: Miércoles 14 de Mayo de 2003, 14:47 »
0
Tengo una multilista con una lista de cursos y otra lista de estudiantes.

Cada curso tiene un puntero al proximo curso (que puede ser NULL) y otro puntero a una relacion curso_estudiante. Esta relacion curso_estudiante tiene un puntero a estudiante y otro a otra relacion curso_estudiante. Estas relaciones son de los alumnos que tiene un curso.

Cada estudiante tiene un puntero al proximo estudiante (que puede ser NULL) y otro puntero a una relacion estudiante_curso. Esta relacion estudante_curso tiene un puntero a curso y otro a otra relacion estudiante_curso. Estas relaciones son de los cursos en que esta cada estudiante.

El problema que tengo es al poner el puntero a la relacion curso_estudiante en la struct Curso y al poner el puntero a la relacion estudiante_curso en la struct Estudiante.

Espero haber sido explicito en mi problema y me puedan ayudar por favor.

Saludos cyber

gmantil

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Re: Ayuda con Multilista (please)
« Respuesta #1 en: Miércoles 14 de Mayo de 2003, 15:02 »
0
Hola Cyber:
No entiendo muy bien tu problema, pero creo haber entendido  que el problema radica en crear la estructura.

Luego esto puede ser así:

struct estudiante {
   /* datos */
   struct estudiante *sig;
};

struct relacion_curso {
   /* datos */
   struct relacion_curso *sig;
   struct estudiante *otro;
}

struct curso {
   /* datos */
   struct relacion_curso *otro_c;
   struct curso *sig;
}

Esa seria mas o menos la declaración.

Si entendí mal, indicamelo y trataré de ayudarte mejor.

gmantil

cyber

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Ayuda con Multilista (please)
« Respuesta #2 en: Miércoles 14 de Mayo de 2003, 15:21 »
0
las estructuras deben quedar asi + ó -

struct alumno
{
   char name[20];
   alumno* pNext;
   struct alum_cur* pRel_A_C;
};

struct curso
{
   unsigned int cant_estud;
   unsigned int ID_Curso;
                curso* pNext;
   alumno* pprimer_alumno;
   struct cur_alum* pRel_C_A;
};

struct cur_alum
{
   alumno* pAlumno;
   cur_alum* pNext;
};

struct alum_cur
{
   curso* pCurso;
   alum_cur* pNext;
};


A las dos ultimas lineas de las dos primeras estructuras le he adicionado struct al inicio gracias a tu ejemplo, pero si es asi, puedes axplicarme porque hay que especificarle que es una struct, si ya sabe que es un pointer a la relacion que es una estructura. Creo que es una redundancia.

Gracias cyber
:good:

gmantil

  • Miembro MUY activo
  • ***
  • Mensajes: 121
    • Ver Perfil
Re: Ayuda con Multilista (please)
« Respuesta #3 en: Miércoles 14 de Mayo de 2003, 20:44 »
0
Hola cyber:
Debes citar la estructura pues allí no hemos creado un nuevo tipo de dato, tan solo hemos declarado la estructura.

Si quieres evitar colocar el struct cada vez, debes hacer un nuevo tipo de dato con "typedef", en ese caso solo citarás el nuevo tipo de datos.

gmantil

cyber

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Re: Ayuda con Multilista (please)
« Respuesta #4 en: Miércoles 21 de Mayo de 2003, 14:19 »
0
Hola:
Hasta aqui todo bien, lo entiendo, gracias gmantil, he adelantado en mi ejercicio, pero ahora ma aparece otra duda...
tengo una variable aux que es puntero a struct:

estudiante_nodo* aux3

necesito pasar por referencia esta variable para utilizarla en varias funciones.
Debo definir un tipo con typedef y pasar la variable por referencia?
Mi problema fundamentalmente esta en representar ese tipo.
pueden ayudarme???

Saludos cyber

cyber

  • Miembro activo
  • **
  • Mensajes: 31
    • Ver Perfil
Ayuda con Multilista (please)
« Respuesta #5 en: Jueves 22 de Mayo de 2003, 00:24 »
0
Hola:
Creo que se puede cerrar este tema, ya entendi como funciona la definicion de tipos y les agradezco mucho por su ayuda, especialmente a gmantil.
Mil gracias

cyber :suerte: