SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: cyber en Miércoles 14 de Mayo de 2003, 14:47
-
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
-
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
-
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:
-
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
-
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
-
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: