wer kann mir bei lösund diese aufgabe helfen ist einfach glaube ich aber ich kan nicht?
-
ich bin anfänger und ich habe probiert und es klappt nicht:die aufgabe ist das:
Das folgende Programm berechnet das Volumen einer Kugel mit Radius 1.5 zu 10.6029 anstatt 14.1372. Was ist die Ursache der fehlerhaften Berechnung und wie können Sie das Problem beheben?Listing: Berechnung des Volumens einer Kugel mit Radius 1.5
#include <iostream>
using namespace std;int main() {
cout << "Das Volumen der Kugel mit Radius 1.5 betraegt "
<< 4 / 3 * 1.5 * 1.5 * 1.5 * 3.141592653 << endl;
return 0;
}ich hab das gegeben
aber es funktioniert nicht
ich wäre sehr dankbarmfg Toni
-
Ich nehme mal an, das ist wieder der berühmte Fall der Ganzzahl-Division. 4/3 wird nicht zu 1,333... ausgewertet sondern zu 1. Probier mal 4.0 / 3 statt 4 / 3.
-
Btw: Bemühe dich bitte beim nächsten Mal einen treffenderen Titel zu finden.
-
Jo das müsste es sein!!!

Zu toni85: C++ rechnet nicht 4/3=1,3333 weil es wenn man ihm Ganzzahlen gibt auch aus dem Ergebnis eine Ganzzahl machen möchte, wenn man nun aber auch eine Kommazahl eingibt(etwa so:4.0/3 oder 4/3.0 oder4.0/3.0) dann rechnet es auch eine Komazahl wieder aus.
-
vielen dank an alle
-
Ist das aber nicht so, dass die Zahlen automatisch zum größeren Datentyp gecastet werden? Also int zu double...
-
Ja, aber der Compiler list das so:
( ( ( ( ( 4 / 3 ) * 1.5 ) * 1.5 ) * 1.5 ) * 3.141592653 )
Dann rechnet er erst 4 geteilt durch 3, das gibt dann weil beides Integer sind 1.Gruß
-
Ahjo stimmt ja, die Fehler entstehen ja auch schon vorher ^^