Rückgabe



  • Hi@all,

    ich hab ein Problem wenn ich das Programm ausführe gibt es mir nur 0 als Lösung für die Rechnung zurück, liegt das Problem jezt an meinem Quelltext oder an meiner Formel?

    #include <iostream.h>
    #include <math.h>
    
    float f_endtemparatur;
    float f_zeit;
    
    float frage (){
    
        cout<< "Bitte geben Sie ihre Zieltemparatur in °C an\n";
        cin>> f_endtemparatur;
        return f_endtemparatur;
    }
    
    float berechnung (){
    
           int   i_luft;
           int   i_starttemparatur;
           int   i_energie;
           float f_waermeleitkoeffizient;
           float f_zusatz;
           float f_jule;
    
        i_energie=500;
        i_luft=1;
        f_waermeleitkoeffizient=0,0262;
    
        f_zusatz=f_waermeleitkoeffizient*i_luft*f_endtemparatur;
        f_jule=f_zusatz*1000;
        f_zeit=f_zusatz/i_energie;
    
         return f_zeit;
    
       }
    
    int main()
    {
    int antwort = frage ();
    berechnung ();
    cout<<"Es vergehen "<<f_zeit <<" Sekunden bis die Luft die Wunschtemparatur erreicht";
    getchar();
    
    }
    

    Bräuchte dringend eien Tipp warum das nicht geht wies gehen soll 😉

    mfg



  • f_endtemperatur ist lokal in der funktion. funktion ende = wert zerstört.
    und warum
    int antwort = (float) frage()
    ?



  • SC2 schrieb:

    Hi@all,

    ich hab ein Problem wenn ich das Programm ausführe gibt es mir nur 0 als Lösung für die Rechnung zurück, liegt das Problem jezt an meinem Quelltext oder an meiner Formel?

    mfg

    Hallo,

    Deine initialisierung von f_waermeleitkoeffizient ist falsch. Statt dem Dezimalkomma mußt Du den Dezimalpunkt nehmen.

    Darüber hinaus erscheint mir die Formel fehlerhaft. i_luft soll wohl die Anfangstemperatur enthalten. Dann sollte bei der gleichen Zieltemperatur tatsächlich 0 herauskommen. Aber vielleicht hab ich das falsch verstanden.

    mfg Martin



  • i_luft ist das gewicht der luft 1kg = 1m^3.

    Danke des mit dem Punkt hat geholfen. 👍

    Also dann
    gn8.



  • f_jule=f_zusatz*1000;
        f_zeit=f_zusatz/i_energie;
    
         return f_zeit;
    
       }
    

    wieso weist du jule da noch ma nen wert zu?
    entweder die erste zeile ist unnötig(und damit die variable an sich) oder zweite zeile ist verkehrt 😉

    ansonsten ist deine einrückung auch nicht gerade doll - wie siehst du da bitte durch? Oo

    bb


Anmelden zum Antworten