[SOLUCIONADO]¿Como printear un valor de un struct dentro de otro struct?

Iniciado por Firos, 24 Marzo 2011, 13:47 PM

0 Miembros y 1 Visitante están viendo este tema.

Firos

Buenas.

Tengo un par de dudas para poder printear o dar valores, es un error de sintaxis.


El caso es que tengo dos estructuras, una define los valores y la otra partiendo de esos valores define unos vectores del tipo de la otra estructura.

A ver, un ejemplo:
#include <ncurses.h>

typedef struct
{
double coord_x;
double coord_y;
}Tpunto;

typedef struct
{
Tpunto vertice[3];
} Ttriangulo;

int main(){
initscr();

Ttriangulo.vertice[0].coord_x=5;

printw("%lf", Ttriangulo.vertice[0].coord_x);

getch();


endwin();
return 0;
}


Los errores que me da son los siguientes:
:21: error: expected identifier or '(' before '.' token
:23: error: expected expression before 'Ttriangulo'


A ver si es por conceptos:


  • Se supone que Tpunto es una definicion de Tipo, al declarar Ttriangulo con Tpunto vertice[3] en el interior, estoy declarando un tipo Ttriangulo que tiene dentro una estructura con 4 arrays de tipo estructura que a su vez tienen dentro 2 valores de coordenadas X/Y.
  • Para hacer referencia a coord_x del vertice[0] tendria que declarar una variable del tipo Ttriangulo en el main y para hacer referencia a ella tendria que poner el nombre de la variable definida con Ttriangulo.

Ya estoy bastante liado x'D . A ver si alguien puede echarme una mano.




SOLUCIONADO

Vaya por dios. Lo posteo y al minuto lo consigo xD llevo desde ayer por la tarde con el fallo que no lo veia.

#include <ncurses.h>

typedef struct
{
double coord_x;
double coord_y;
}Tpunto;

typedef struct
{
Tpunto vertice[3];
} Ttriangulo;


int main(){
initscr();

Ttriangulo TAL;

TAL.vertice[0].coord_x=5.5;

printw("%lf", TAL.vertice[0].coord_x);

getch();


endwin();
return 0;
}


El problema estaba en que no definia una variable del tipo. No me habia dado cuenta, pero es como un arbol de variables.


Gracias de todas formas, un saludo.
El final del camino no está determinado, lo determinamos nosotros mismos paso a paso, día a día, y se puede cambiar.