#include typedef float dlzka; enum Telesa { kocka, kvader, valec }; typedef struct { dlzka a; } ParametreKocky; typedef struct { dlzka a, b, c; } ParametreKvadra; typedef struct { dlzka r; dlzka v; } ParametreValca; union Parametre { ParametreKocky parametre_kocky; ParametreKvadra parametre_kvadra; ParametreValca parametre_valca; }; typedef struct { enum Telesa typ_telesa; union Parametre parametre; } Teleso; extern void KresliTeleso(Teleso * t); void main() { Teleso t1; Teleso t2; Teleso t3; /* prve teleso */ t1.typ_telesa = kocka; t1.parametre.parametre_kocky.a = 1.0; /* druhe teleso */ t2.typ_telesa = valec; t2.parametre.parametre_valca.r = 0.5; t2.parametre.parametre_valca.v = 2.0; /* tretie teleso */ t3.typ_telesa = kvader; t3.parametre.parametre_kvadra.a = 1.0; t3.parametre.parametre_kvadra.b = 2.5; t3.parametre.parametre_kvadra.c = 2.0; /* kresli prve teleso */ KresliTeleso(&t1); /* kresli druhe teleso */ KresliTeleso(&t2); /* kresli tretie teleso */ KresliTeleso(&t3); }