Jan: 3er Zahlenvergleich mittels Promptboxen, An die Experten, Hilfe

Hallo an alle, weiss jemand von euch den Fehler ? Ich kann ihn nicht finden, die Hausaufgabe ist es in der Schule in Javascript mittels promptboxen 3 Zahlen zu vergleichen. Das heisst, man gibt 3 Zahlen ein und er Spuckt die Größte aus.

Hier der Quelltext um sich ein besseres Bild zu machen:

<head>
<title>Infos HA</title>

<script type="text/javascript">

function Vergleiche3 () {
var a, b, c, ergebnis;

a = prompt("Bitte gebe die erste Zahl für den Vergleich ein","");
 b = prompt("Bitte gebe die zweite Zahl für den Vergleich ein","");
 c = prompt("Bitte gebe die dritte Zahl für den Vergleich ein","");

if (a > b) {
 if ( a > c) {
  documnet.write(Zahl " + a + " ist die grösste Zahl);
 } //end of if a > c

else
  documnet.write(Zahl " + c + " ist die grösste Zahl);
 } //end of else a >= c

} //end of if a > b

else {
 if ( b > c) {
  documnet.write(Zahl " + b + " ist die grösste Zahl);
 } //end of if b > c

else
  documnet.write(Zahl " + c + " ist die grösste Zahl);
 } //end of else b > c

} end of else a > b

} // end of function (vergleiche3)

</script>

</head>
<body bgcolor="#346376" onload="Vergleiche3()">
<h3>Hier haben Sie die Möglichkeit einen Zahlenvergleich zu tätigen.</h3>
<hr>

Bitte geben Sie nach und nach 3 Zahlen Ihrer Wahl für einen Vergleich ein.

</body>
</html>

  1. Hallo,

    öffnet sich bei Dir kein Fehlerfenster?

    documnet.write(Zahl " + a + " ist die grösste Zahl);

    ........^^^^^^^^

    documnet.write(Zahl " + c + " ist die grösste Zahl);

    ........^^^^^^^^
    ...

    } //end of else b > c

    } end of else a > b

    ..^^^^^^^^

    } // end of function (vergleiche3)

    nur durch Hingucken wird die Fehlersuche mühsam ...

    Gruß plan_B

  2. Hello,

    Hallo an alle, weiss jemand von euch den Fehler ? Ich kann ihn nicht finden

    welchen Browser verwendest du? Internet Explorer? Nimm einen anderen, Firefox und Konsorten haben eine Javascript-Konsole, die einem relativ genau sagt, was falsch ist - in deinem Fall dürfte das (mindestens) ein konsequenter Tippfehler in Form von documnet statt document sein.

    MfG
    Rouven

    --
    -------------------
    He is entertaining both out of the car and in the car because if you tell him that a corner is almost flat then he is the guy who is going to try to take it flat even if it means shunting it the other side of it, he will come with the data and say 'hey, I may have crashed and destroyed the car, but I was flat-out'. That is an interesting quality that he has!  --  Team Member on Jacques Villeneuve
  3. gudn tach!

    abgesehen von den bereits erwaehnten syntaxfehlern, kannst du es dir auch sonst etwas einfacher machen: http://de.selfhtml.org/javascript/objekte/math.htm#max

    prost
    seth

  4. Hallo Jan,

    documnet.write(Zahl " + a + " ist die grösste Zahl);

    document.write überschreibt das aktuelle Dokument. Nimm lieber das DOM oder alert.
    Die Ausgabe ist falsch quotiert. Du willst String+Zahl+String ausgeben.
    Kennst Du die Fehlerkonsole?

    Gruß, Jürgen

  5. Hallo Jan,

    Du solltest einen Editor benutzen, der Dir Klammernpaare anzeigen kann und Syntaxhervorhebung beherrscht, letzteres geht auch hier im Forum

      
    
    > function Vergleiche3 () {  
      
    // erste Ebene geschweifte Klammer geöffnet  
      
    
    > var a, b, c, ergebnis;  
    >   
    >  a = prompt("Bitte gebe die erste Zahl für den Vergleich ein","");  
    >  b = prompt("Bitte gebe die zweite Zahl für den Vergleich ein","");  
    >  c = prompt("Bitte gebe die dritte Zahl für den Vergleich ein","");  
    >   
    > if (a > b) {  
      
    // zweite Ebene durch geschweifte Klammer geöffnet  
      
    
    >  if ( a > c) {  
      
    // dritte Ebene durch geschweifte Klammer geöffnet  
      
    
    >   documnet.write(Zahl " + a + " ist die grösste Zahl);  
      
    // Was ist "documnet"? Tippfehler?  
      
    
    >  } //end of if a > c  
      
    // dritte Ebene geschlossen  
      
    
    >   
    >   
    >  else  
    >   documnet.write(Zahl " + c + " ist die grösste Zahl);  
    >  } //end of else a >= c  
      
    // zweite Ebene geschlossen  
      
    
    >   
    > } //end of if a > b  
      
    // erste Ebene geschlossen - Funktion beendet.  
      
    
    >   
    > else {  
    >  if ( b > c) {  
    >   documnet.write(Zahl " + b + " ist die grösste Zahl);  
    >  } //end of if b > c  
    >   
    >  else  
    >   documnet.write(Zahl " + c + " ist die grösste Zahl);  
    >  } //end of else b > c  
    >   
    > } end of else a > b  
    >   
    > } // end of function (vergleiche3)  
      
    // schön wär's 
    

    Diesen Fehler hast Du übrigens wiederholt gemacht ...
    Ich benutze inzwischen vim.

    Freundliche Grüße

    Vinzenz

  6. Nochmal Hallo an alle!

    Ich find das echt super von euch für die Hilfe.
    Ich benutze Firefox, wusste gar nicht das dort so eine Funktion ist,
    Vielen Dank Rouven.

    Auch vielen Dank für den Link zu der Erklärung, habe ich gar nicht gefunden, danke seth,!

    Danke auch an JürgenB und Plan_B, da wäre ich mal gar nicht drauf gekommen, dummer Flüchtigkeitsfehler meinerseits.

    Und zu guter letzt, Vinzens Mai, das ist mal sehr gut gegliedert.
    Danke für die Übersichtliche Erklärung und mein Wiederholungsfehler.

    Jetzt funktioniert alles. Danke.

    Viele Grüße, Jan