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.


Anmelden zum Antworten