Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda de estructuras

Estas en el tema de Duda de estructuras en el foro de C/C++ en Foros del Web. Hola, tengo una duda.. En mi programa en C, cuento con dos estrcuturas, una es alumno y otra es asignatura. Cada una de ellas es ...
  #1 (permalink)  
Antiguo 24/11/2007, 05:21
 
Fecha de Ingreso: septiembre-2007
Mensajes: 101
Antigüedad: 17 años, 2 meses
Puntos: 0
Duda de estructuras

Hola, tengo una duda..

En mi programa en C, cuento con dos estrcuturas, una es alumno y otra es asignatura.

Cada una de ellas es asi:
struct asignatura{
char codigo[9];
char nombrea[50];
char titulaciona[60];
int credito;
char caracter[25];

};


struct alumno{
char nombre[50];
char apellido[50];
char telefono[10];
char dni[10];
char titulacion[60];
int nasignaturas; //para contar el numero de asignaturas para dar de alta, consultar...
struct asignatura *asig[15];
struct alumno *sig;
struct alumno *ant;
};

typedef struct asignatura asignatura;

typedef struct alumno alumno;

entonces a la hora de reservar memoria para los datos crear los nodos... para hacerlo con los datos de asignatura hago lo siguiente y me dice que no es correcto:
defino alumno *aux

y para guardar los datos de asignatura hago aux->asig->codigo, aux->asig->nombrea, aux->asig->titulaciona...


Cual e s la manera correcta??gracias, un saludo
  #2 (permalink)  
Antiguo 28/11/2007, 09:08
Avatar de Solenbum  
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 17 años
Puntos: 0
Re: Duda de estructuras

pero que quieres implementar ? lista enlazada?
  #3 (permalink)  
Antiguo 28/11/2007, 09:58
 
Fecha de Ingreso: noviembre-2007
Mensajes: 37
Antigüedad: 17 años
Puntos: 0
Re: Duda de estructuras

OLAS MAN!!!
Sabes, mejor crea una estructura NODO y dentro de ella las 2 estructuras que ya has declarado.. usa anidamiento de estructuras... creo que sera mas facil!!

struct nodo
{
asignatura a;
alumno al;
nodo *sgte;
}

Al momento de guardar algo:
nodo *P;
lIngresar dato: digamos el nombre
Q = new (struct nodo);
Q.a.nombre->nombre;
Q.sgte-NULL

Prueba lo mismo para el resto!!
No olvides colocar el puntero a la posicion que le sigue..
ALAMOX!!! DALE MAS JUERTE - REVISA MANUALES AL RESPECTO MAN!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:59.