Ankündigung

Einklappen
Keine Ankündigung bisher.

Benötige Hilfe bei Rechnerfunktion

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Benötige Hilfe bei Rechnerfunktion

    Hallo,
    ich bräuchte etwas Hilfe bei einer Rechnerfunktion. Ich habe versucht, mit Hilfe einer Funktion einen Rechner anhand einer Formel nachzubilden. Leider weicht das Ergebnis von dem ab, wenn ich es per Taschenrechner ausrechne.

    Die Formeln:
    gu (Grundumsatz) : 66.47+(13.7*$gewicht)+(5*groesse)-(6.8*$alter) oder 655.1+(9.6*$gewicht)+(1.8*groesse)-(4.7*$alter)
    lu (Leistungsumsatz): Leistungsumsatz – Wikipedia

    Mein Code:
    PHP-Code:
    <?php
    function menergiebedarf($gewicht$groesse$alter$lu1$lu2$lu3$lu4,    $lu5){
           
    $gu 66.47+(13.7*$gewicht)+(5*groesse)-(6.8*$alter);
           
    $luges = (1.2*lu1)+(1.4*lu2)+(1.6*lu3)+(1.8*lu4)+(2.4*lu5);
           
    $lu $luges/24;
           
    $enges $gu*$lu;
           return 
    $enges;
    }
    function 
    wenergiebedarf($gewicht$groesse$alter$lu1$lu2$lu3$lu4$lu5){
           
    $gu 655.1+(9.6*$gewicht)+(1.8*groesse)-(4.7*$alter);
           
    $luges = (1.2*lu1)+(1.4*lu2)+(1.6*lu3)+(1.8*lu4)+(2.4*lu5);
           
    $lu $luges/24;
           
    $enges $gu*$lu;
           return 
    $enges;
    }
    ?>
    Mittels Post werden die Daten per Formular übergeben (ich habe auf eine Absicherung verzichtet, da keine Verbindung zur Datenbank via MySQL aufgebaut wird):
    PHP-Code:
    <?php
            $geschlecht 
    $_POST['geschlecht'];
            
    $gewicht $_POST['gewicht'];
            
    $groesse $_POST['groesse'];
            
    $alter $_POST['alter'];
            
    $lu1 $_POST['lu1'];
            
    $lu2 $_POST['lu2'];
            
    $lu3 $_POST['lu3'];
            
    $lu4 $_POST['lu4'];
            
    $lu5 $_POST['lu5'];
            
    ?>
    Die Daten werden auf jeden Fall korrekt übertragen. Nun habe ich eine If-Abfrage, wonach bestimmt wird, welche Methode ausgeführt werden soll:
    PHP-Code:
        if ($geschlecht "m"){
           echo 
    "m";
           echo 
    menergiebedarf($gewicht$groesse$alter$lu1$lu2$lu3$lu4$lu5);
    }
        elseif (
    $geschlecht "w"){
           echo 
    "w";
           
    $energiebedarf wenergiebedarf($gewicht$groesse$alter$lu1$lu2$lu3$lu4$lu5);
           }
    ?> 
    Wisst ihr, wo der Fehler liegt? Sind die Parameter falsch zugeordnet oder habe ich die Formel falsch in der Funktion aufgeschrieben.

    Ich hoffe, ihr könnt mir etwas weiterhelfen.


  • #2
    Zitat von Extremefall Beitrag anzeigen
    gu (Grundumsatz) : 66.47+(13.7*$gewicht)+(5*groesse)-(6.8*$alter) oder 655.1+(9.6*$gewicht)+(1.8*groesse)-(4.7*$alter)
    Es muss $groesse lauten.
    Beim Leistungsumsatz hast du ebenfalls ein paar mal das $ vergessen.

    Kommentar


    • #3
      vielen dank. Die einfachsten Fehler findet man einfach nicht

      Kommentar


      • #4
        Doch solche Fehler findet man indem man vernünftig debuggen tut. Das error_reporting(E_ALL | E_STRICT); könnte ein Anfang sein. Reihenweise nach und nach alle Variablen mal ausgeben lassen ob die Werte da auch drin stehen, spätestens da hättest du ein Fehlermeldung bekommen.
        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
        http://www.lit-web.de

        Kommentar


        • #5
          mir ist gerade sogar noch der Fehler bei der If Abfrage aufgefallen, wo ich das Gleichheitszeichen vergessen habe
          #

          Kommentar

          Lädt...
          X