Jens Holzkämper: C++ Frage zu ceil()

Beitrag lesen

Tach,

Dein Compiler ist nett zu dir und warnt Dich wegen des Verlustes bei der Funktion ceil(), denn die liefert ja nur einen Integer.

ceil (in C) liefert keinen Integer sondern einen Double, in C++ gibt es auch noch Überladungen für float und long double, wenn ich mich nicht irre, die liefern aber auch jeweils das zurück, was man reinsteckt.

Da dieser Verlust hier aber gewollt ist von Dir, kannst Du (im Kopf) einen Haken dranmachen :-)

Ich glaube die Funktion ist schlecht, da sie für große floats falsche Werte liefert, die Signatur sollte eher "int verpackungen(int, int);" sein und es sollte innerhalb der Funktion gecastet werden.

Alternativ könnte man das ganze einfach auch mit Integer-Methoden berechnen:

  
int verpackungen(int x, int y){  
  return x/y + (x%y > 0);  
}  

mfg
Woodfighter