Was heißt "der Compiler nimmt das nicht an"? Fehlermeldung?
Wenn der Compiler es schlucken würde, käme aber auch nicht raus, was Du
vermutlich willst. Grundsätzlich werden alle Berechnungen zunächst in
int durchgeführt, wenn nicht explizit etwas anderes angegeben ist bzw.
wenn einer der beteiligten Operatoren nicht in int darstellbar ist.
Bei Dir fängt es aber schon mit
an:
strom hat den Wert 800 -> passt in int
1000 passt auch in int
Also gibt das eine Integer-Division, und wieviel 800/1000 in int ist,
solltest Du vielleicht mal als ersten Schritt überlegen...
Weiter geht's mit R , das bei Dir mit 0.5 definiert ist. Wenn er das
R sieht, wird er also ab diesem Punkt in Gleitkomma weiterrechnen
(weil das der größte Datentyp ist, der in dem Ausdruck vorkommt). Das
Ergebnis der ganzen Geschichte ist also ein float und führt (wenn die
restlichen Unzulänglichkeiten in der Rechnung beseitigt sind) zur
Einbindung der Gleitkommabibliotheken, sobald der Wert irgendwo im
Programm verwendet wird. Und das dürfte ziemlich sinnfrei sein. Gerade
für eine popelige Multiplikation mit 0,5 ist das nicht sinnvoll. Die
kann man eigentlich immer in Ganzzahlen machen.