Problem mit Endlosschleife
-
Moin,
ich habe ein Problem bei meinen Programm zur Berechnung eines max. Volumen eines quadr. Kastens.
Und zwar soll die Seitenlänge L eingegeben werden.
Danach soll die Höhe x schrittweise, bis zu einem sinnvollen maximal Wert, erhöht werden.
Und in dieser For-Schleife soll das max Volumen mit dem dazugehörigen x-wert gespeichert werden.Und wenn ich mein Programm jetzt ausführe, bekomme ich eine Endlosschleife raus, die mir immer wieder 0 ausgibt. Wo liegt das Problem?
Danke an euch!
#include <QtCore/QCoreApplication> #include <iostream> #include <cmath> using namespace std; int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); double V, Vmax, x, xmax, L; Vmax = 0; xmax = 0; cout << "Bitte geben Sie einen Wert fuer die Seitenlaenge L ein" << endl; // einlesen der Kantenlänge cin >> L; for (x = 0,01; x < (L/2); x = x+0,01) { V = x *((L-(2*x))*(L-(2*x))); if (Vmax < V) { Vmax = V; xmax = x; } cout << "Das maximale Volumen betraegt: " << Vmax << endl; cout << "Die dazugehoerige Kastenhoahe betraegt: " << xmax << endl; } return a.exec(); }
-
Lustiger Fehler .... Fließkommazahlen schreibt man fast überall auf der WElt (und auch in C++) mit Punkt und nicht (wie in Deutschland) mit Komma.
Der Komma-Operator hat dagegen eine eigene Bedeutung.
Das hier ist ein gutes Beispiel dafür, dass "Kompilierbar" nicht "richtig" bedeutet.

Gruß,
Simon2.
P.S.: Könnte es sein, dass der Compiler eine Warnung ausgespuckt hat, die du aber ignoriert hast?
-
QT hat nur so ein ! ausgespuckt, aber ohne Erklärung.
Danke für deine Hilfe:)
-
OK - mit QT kenne ich mich nicht aus.
Ich hoffe, du kommst jetzt klar.
Gruß,
Simon2.