Hi,
mir fällt da gerade vom mathematischen Aspekt her noch ein Fauxpas auf:
* - die Länge der Raumdiagonale (=a*sqrt(3))
Die Raumdiagonale ist also in aller Regel nicht ganzzahlig, es sei denn, die Kantenlänge wäre ein Vielfaches von 1/√3.
typedef struct {
char *type;
int value;
} calc;
c[2].type = "Länge der Raumdiagonale";
c[2].value = a * sqrt(3);
Hier gehen aber die Nachkommastellen der berechneten Raumdiagonalen verloren. Die Multiplikation mit float a ist noch okay, aber die Zuweisung an int x.value erzwingt einen impliziten Typecast float->int.
Hast du das bewusst in Kauf genommen? Oder einfach übersehen?
So long,
Martin
--
Wenn man keine Ahnung hat - einfach mal Fresse halten.
(Dieter Nuhr, deutscher Kabarettist)
Wenn man keine Ahnung hat - einfach mal Fresse halten.
(Dieter Nuhr, deutscher Kabarettist)