Felix Klein: Gewichtsberechnung per script

Wir müssen für Info nen script schreiben, welches nach der eingabe das übergewicht bzw. das untergewicht ausgibt.
leider will das script nicht so funktionieren obwohl es sollte.

hier ist der quelltext:
<script type="text/javascript">
<!--
function Gewichtsberechnung()
{
  var gewwicht=document.formular.gewicht.value;
  var grosse=document.formular.groesse.value;
  var ausgabe1="";
  var ausgabe2="";

if (document.formular.geschlecht[0].checked==true)
   { if (gewwicht / ((grosse - 100) - (0,05 * (grosse - 100))) > 2 )
     { ausgabe+=gewwicht - ((grosse - 100) - (0,05 * (grosse - 100)))
       alert("Sie haben" + ausgabe + "kg Übergewicht")
     }
    else
     { if (gewwicht / ((grosse - 100) - (0,05 * (grosse - 100))) < 1)
        { ausgabe2+=((grosse - 100) - ((grosse - 100)*0,05)) - gewwicht
         alert("Sie haben"+ ausgabe2 +"kg Untergewicht")
        }

else
       alert("Sie haben Idealgewicht")
   }
  }
}

//-->

</script>
ich würde mich freuen, wenn mir jemand bei der korrektur helfen könnte und schon mal danke im voraus

  1. Tag Felix.

    ich würde mich freuen, wenn mir jemand bei der korrektur helfen könnte

    Ich würde mich freuen, wenn du mich mit einer aussagekräftigen Fehlermeldung erfreuen würdest. Tipp: teste den Code im Firefox, Fehler und Warnungen entnimmst du bitte der Javascript-Konsole.

    Siechfred

  2. Hallo,

    leider will das script nicht so funktionieren obwohl es sollte.

    das wundert mich nicht. So wie du es hier vorgezeigt hast, hat dein Script mindestens einen kapitalen Fehler, der sich aber konsequent durchzieht.

    { if (gewwicht / ((grosse - 100) - (0,05 * (grosse - 100))) > 2 )

    ^
    -------------------------------------------+ was is'n das?!
    Was soll das Komma in diesem Ausdruck? Das, was du wirklich meinst, heißt nicht umsonst "decimal point". Warum du "gewwicht" hier mit Doppel-w schreibst, ist mir auch nicht ganz klar - aber da es konsequent ist, macht das nichts aus.

    Außerdem kann man hier einiges vereinfachen und zusammenfassen:

    { if (gewwicht / ((grosse - 100) - (0,05 * (grosse - 100))) > 2 )

    Dieser Teilausdruck     |--------------------------------------|
    ist doch (vom fehlerhaften Dezimalpunkt abgesehen) gleichwertig mit (grosse-100)*0.95, oder nicht? Warum so kompliziert? Zumal dieser Teilausdruck sogar mehrmals vorkommt...

    ich würde mich freuen, wenn mir jemand bei der korrektur helfen könnte

    Zu diesem Satz hat Siechfred schon seinen Senf gegeben, und ich kann mich seiner Meinung nur anschließen.

    So long,

    Martin

    --
    Viele Fachleute vertreten die Ansicht, jedes Feature eines Programms, das sich nicht auf Wunsch abstellen lässt, sei ein Bug.
    Außer bei Microsoft. Da ist es umgekehrt.
  3. Hi,

    Wir müssen für Info nen script schreiben, [...] leider will das script nicht so funktionieren obwohl es sollte.

    davon abgesehen, dass "nen" die Kurzform von "einen" ist, was grammatisch nicht mit dem Geschlecht von "Script" zusammen passt: Eines der wesentlichsten Dinge, die Du im Bereich der Software-Entwicklung beherrschen musst ist, ein Problem so ordentlich zu analysieren, dass Du eine vernünftige Fehlerbeschreibung abliefern kannst. Es existiert nichts, was weiter von einer Fehlerbeschreibung entfernt wäre, als "funktioniert nicht".

    Sage also Deinem Informatik-Lehrer, dass bezüglich der Problemanalyse bei euch noch erheblicher Nachholbedarf besteht.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. davon abgesehen, dass "nen" die Kurzform von "einen" ist, was grammatisch nicht mit dem Geschlecht von "Script" zusammen passt

      Cheatah,
      Gut, dass du nicht im selben Posting von "einer" URL / URI sprichst. ;-)

      Live long and prosper,
      Gunnar

      --
      „Weisheit ist nicht das Ergebnis der Schulbildung, sondern des lebenslangen Versuchs, sie zu erwerben.“ (Albert Einstein)
      1. Hi,

        Gut, dass du nicht im selben Posting von "einer" URL / URI sprichst. ;-)

        das kommt darauf an, ob man die URL dem Geschlecht von dem Locator anpassen möchte. Ich beispielsweise möchte das nicht.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Tag Cheatah.

          Gut, dass du nicht im selben Posting von "einer" URL / URI sprichst. ;-)
          das kommt darauf an, ob man die URL dem Geschlecht von dem Locator anpassen möchte. Ich beispielsweise möchte das nicht.

          Die Uniform
          Die Ressource
          Der Pächter
          Hm, watt nu?

          Naja, nach diesem Artikel sollte wohl beides richtig sein.

          Siechfred

        2. Hallo,

          das kommt darauf an, ob man die URL dem Geschlecht von dem Locator anpassen möchte. Ich beispielsweise möchte das nicht.

          ist ja auch nicht nötig, wenn man bedenkt, dass "Location", wie das "L" in URL auch oft erklärt wird, im Denglischen meistens mit dem weiblichen Artikel versehen wird.
          Und Location (Ort, Stelle, auch Ortsangabe) passt ja auch semantisch irgendwie besser als Locator (Wegweiser, Platzanweiser).

          Schönen Abend noch,

          Martin

          --
          Die beste Informationsquelle sind Leute, die jemand anderem versprochen haben, nichts weiterzuerzählen.
            (alte Journalistenweisheit)
  4. da es hier schon aus mehreren ecken die kante gibt, hänge ich noch eine andere dran:

    was soll das: function Gewichtsberechnung()
    warum übergibst du nicht die argumente?  function Gewichtsberechnung(formular)
    dann brauchst du auch keine absolute adressierung: document.formular.gewicht.value;
    ausgabe = funktion(eingabe) ist auch viel lesbarer

    was soll das: if (document.formular.geschlecht[0].checked==true)
    innerhalb der funktion? damit diese dann nichts macht.
    das gehört dorthin, wo der aufruf der funktion steht.