Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Firos en 24 Marzo 2011, 13:47 pm



Título: [SOLUCIONADO]¿Como printear un valor de un struct dentro de otro struct?
Publicado por: Firos en 24 Marzo 2011, 13:47 pm
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:
Código:
#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:
Código:
: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.

Código:
#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.