Lösungen zu den Javascript-Aufgaben von der Seite Highscore.de

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ich glaub jetzt hab ich es(:

    Quellcode

    1. <html>
    2. <head>
    3. <title>Lösungen<title>
    4. </head>
    5. <body>
    6. <script type="text/javascript">
    7. var x, y;
    8. Zahl = parseFloat(x, y);
    9. var Summe = x + y;
    10. x = prompt("Bitte geben Sie eine Kommazahlen ein!", "");
    11. y = prompt("Bitte geben Sie eine zweite Kommazahl ein, die mit der Vorherigen addiert werden soll!", "");
    12. if ( isNaN(x, y)) {
    13. alert("Sie haben leider keine Kommazahlen eingeben, versuchen Sie es erneut!");
    14. } else {
    15. document.write(parseFloat(x) + parseFloat(y) );
    16. }
    17. </script>
    18. </body>
    19. </html>
    Alles anzeigen
  • In Zeile 3 deiner letzten Lösungen hast du einen Fehler.
    So startet das nicht wie beabsichtigt auf dem Firefox und auch nicht auf dem Opera.


    Bei der Lösung 4 solltest du das mal ausgiebig testen:
    Was passiert bei richtiger Eingabe?
    Was passiert bei falscher Eingabe?
    Wie oft ist eine falsche Eingabe möglich?

    Für Übungszwecke ist das ja vielleicht sinnvoll aber real ->
    Javascript in Reinform und Passwort ;(

    MfG bcc-fan

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von bcc-fan ()

  • Ok, danke für den Tipp :)

    Ich denke bei meiner 4. Lösung stimmt das alles so. Hab mich halt exakt an der Aufgabenstellung orientiert. Aber falls ihr da Mängel findet, schreibt sie mir direkt :)
    Ja ich weiß wohl, die Passwortabfrage über Java-Script ist nicht toll, weil man das im Quelltext sieht.

    Zu meiner Lösung 5. Diese berechnet ja auch keine Dezimalzahlen. Wie kann ich das so hinprogrammieren, dass er nur Dezimalzahlen annimmt?

    Gruß Daniel
  • Also bei der Aufgabe 4 soll ich ja 3 Versuche haben um das richtige Passwort einzugeben. Dieses klappt bei IE Firefox und Opera. Mehr hab ich nicht getestet. Ich denke, dass diese die geläufigsten Browser sind.

    Um nochmal Aufgabe 5 aufzugreifen.
    Kann mir jemand zeigen, wie man die Eingabe so programmiert, dass nur Dezimalzahlen angenommen werden und keine ganzen Zahlen (z.B. 1, 12) ?

    Gruß Daniel001
  • Huhu

    Sry, es handelt sich um Kommazahlen. Aber mit dem Befehl number, prüfe ich nur, ob es eine Zahl ist SargTeX.
    Das Programm soll ja nicht mit ganzen Zahlen wie ( 1,6,100) rechnen. Ich werde mich wieder am Montag melden, am Wochenende will ich keinen Bildschirm sehn :D
    Bis Montag dann und ein schöne Rest-Wochenende ;D
  • Hallo leute !

    zu deinem nummernproblem würde ich dir empfehlen dir die funktionen isNAN und parseFloat() anzuschauen wie bbc fan schon gesagt hat ... sollst ja ne lösung mit javascript machen nicht mit html5 oder ?

    de.selfhtml.org/javascript/objekte/unabhaengig.htm

    hoffe das hilft dir weiter!

    Außerdem bin mir sicher das, das Script in den Head gehört ! ist auch in jedem Beispiel welches im internet zu finden ist so! vielleicht ist es dem Browser egal wo das script steht kann ich jetzt nichts zu sagen noch nicht getestet aber ich würde es wohl in den head schreiben. Dient auch der Übersichtlichkeit wenn man funktionen hat die über .document auf das HTML doc zugreifen könnte es etwas unübersichtilich werden außerdem hat man auch ne bessere Struktur also :

    Quellcode

    1. <html>
    2. <head>
    3. <title></title>
    4. <style type = "text/ css" >
    5. Stylsheets
    6. </style>
    7. <script txpe = "text/javascript">
    8. Javascript funktionen
    9. </script>
    10. </head>
    11. <body>
    12. Eigentlicher HTML Code
    13. </body>
    14. </html>
    Alles anzeigen


    Hier mal ein Beispiel de.selfhtml.org/javascript/beispiele/buttons.htm
    übrigens würde ich dir selfhtml.org eh empfehlen falls du die seite noch nicht kennst hier gibt es eine Menge Beispiele und Erklärungen zu fast allem was mit Webseiten programmierung zu tun hat!

    Übrigens noch ein Tipp du solltest wenn du sowas in der Firma Professionell machst dir auch mal falls du es noch nicht getan hast die Unterschiede zwischen den ganzen Doctypes anschauen

    lmgtfy.com/?q=Doctypes

    die sind nämlich wichtig!

    Auch lege ich dir ans Herz dich an diese Doctypes zu halten, das hilft nämlich unheimlich was die Veränderbarkeit und Lesbarkeit der Codes betrifft! Außerdem kannst du so Browserprobleme besser außschließen ....Was die Doctypes angeht die kannst du hier überprüfen lassen

    validator.w3.org/#validate_by_upload

    wenn der Validator ausspuckt das alles ok ist kannst du nämlich behaupten das du 100% standart konform gearbeitet hast also nach internationalen richtlinien dann kann dir keiner vorwerfen du würdest unsauberen code schreiben!

    für css gibts auch einen Validator:

    jigsaw.w3.org/css-validator/
    das macht sicher auch bei deinem Chef nen guten eindruck wenn du sagen kannst du arbeitest 100% standart konform nur als tipp ist gar nicht so schwer wie es sich anhört :)

    und wenn du viel mit Javascript arbeitest empfiehlt sich der Firefox mit dem Plugin Firebug:

    addons.mozilla.org/de/firefox/addon/firebug/

    so lassen sich nämlich schön Fehler im Code finden ist nämlich gar nicht so leicht wenn man mal größere Codes hat.

    In diesem sinne viel Erfolg lass dich nicht enmutigen und schön weiter aufgaben posten!
    viele Grüße!

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von the_old_Pirate ()

  • Hallo old_pirate.
    Danke für deine Hilfe. Ich werde mich wie schon gesagt, Montag mit meinem Problem wieder beschäftigen. Falls ich es dennoch nicht hinkriegen sollte überspringe ich die Aufgabe und mach die nächste :)
    Entmutigen lasse ich mich nicht.
    Aber es ist doch schon ein komisches Gefühl ohne jegliche Vorkenntisse in so einer Branche seine Ausbildung zu machen. Denn normalerweise bin ich nicht der Typ der Tag und Nacht( oder am Wochenende) davor sitzt, sondern nach seinen 8 oder 10 Std.Arbeitszeit das Programmieren bei der Arbeit lässt. Dieses habe ich auch in Zukunft vor. Denn Privatleben geht vor Arbeit :P. Dennoch bin ich sehr motiviert und geb immer 200% bei der Arbeit ;) Aber zu Hause gibt es wichtigere Aufgaben.

    Und ich möchte jetzt keine Kommentare hören, dann ist es nicht der richtige Job, denn es macht mir Spaß. Man muss für diese Branche nicht immer ein Freak sein :D

    Gruß Daniel001
  • So ich hab nochmal 200% gegeben, aber i-wie funktioniert mein Programm nicht. Kann mir jemand helfen und sagen was nicht korrekt ist ?
    Es handelt sich hierbei noch immer um Aufgabe 5.
    Gruß Daniel001

    Quellcode

    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    2. "http://www.w3.org/TR/html4/strict.dtd">
    3. <html>
    4. <head>
    5. <title>Lösungen</title>
    6. </head>
    7. <body>
    8. <script type="text/javascript">
    9. var Zahl1 ;
    10. var Zahl2 ;
    11. Zahl1 = parseFloat(prompt("Bitte geben Sie eine Zahl ein", ""));
    12. Zahl2 = parseFloat(prompt("Bitte geben Sie die zweiter Zahl ein",""));
    13. if ( Zahl1 == isNaN()) {
    14. alert("Bitte geben sie eine Zahl ein!")
    15. }
    16. if (Zahl1 != parseFloat() {
    17. alert("Bitte geben Sie eine Kommazahl ein");
    18. }
    19. function Rechnen(x, y) {
    20. var Summe = x + y ;
    21. alert(Summe);
    22. }
    23. Rechnen(Zahl1, Zahl2)
    24. </script>
    25. </body>
    26. </html>
    Alles anzeigen

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Daniel001 ()

  • Ich hab erstmal an Aufgabe 6 weitergearbeitet. Dort habe ich nur das Problem, dass die Fehlermeldung nicht erscheint wenn der Benutzer ausversehn einen Buchstaben eingibt :/.
    Wäre dankbar, wenn jemand meinen Fehler findet

    Aufgabe 6. Erstellen Sie eine Javascript-Anwendung, die den Anwender zur Eingabe von drei Ganzzahlen auffordert. Speichern Sie die eingegebenen Werte in einem Array. Multiplizieren Sie dann mit Hilfe einer Schleife die im Array gespeicherten Werte und geben Sie das Ergebnis auf den Bildschirm aus.

    Meine Lösung:

    Quellcode

    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
    2. "http://www.w3.org/TR/html4/strict.dtd">
    3. <html>
    4. <head>
    5. <title>Lösungen</title>
    6. </head>
    7. <body>
    8. <script type="text/javascript">
    9. var Ganzzahlen = new Array();
    10. Ganzzahlen[0] = parseFloat(prompt("Geben Sie bitte eine ganze Zahl ein!",""));
    11. Ganzzahlen[1] = parseFloat(prompt("Bitte geben Sie eine 2. ganze Zahl ein!", ""));
    12. Ganzzahlen[2] = parseFloat(prompt("Bitte geben Sie eine 3. ganze Zahl ein!", ""));
    13. if (Ganzzahlen[0], Ganzzahlen[1], Ganzzahlen[2] == isNaN()) {
    14. alert("Sie haben keine Zahl eingegeben, Abbruch!");
    15. } else {
    16. alert("Die 3 angegebenen Zahlen von Ihnen werden nun multipliziert!")
    17. Ergebnis = Ganzzahlen[0] * Ganzzahlen[1] * Ganzzahlen[2];
    18. document.write("<b>Das Ergebnis ist: </b>"+ Ergebnis);
    19. }
    20. </script>
    21. </body>
    22. </html>
    Alles anzeigen
  • Hey,

    ganz einfach: Du wandeslt bereits in Zeile 12 (13, 14) die Eingabe in eine Kommazahl um ;). Hinterher, in Zeile 16, gibt es daher natürlich keine Fehlermeldung.
    Außerdem dürfte deine If-Abfrage falsch sein, sie sollte meines Wissens her folgendermaßen lauten:

    Quellcode

    1. if (isNaN(Ganzzahlen[0]) || isNaN(Ganzzahlen[1]) || isNaN(Ganzzahlen[2]) {

    Berichtigt mich bitte, wenn ich mich irre^ ^.

    Es kommt drauf an, was du als Ergebnis erwartet: Dass er nur Kommazahlen zulässt oder dass er eine Fehlermeldung anzeigt, wenn ein nicht-numerischer Wert angegeben wird.
    Derzeit lässt er nur Kommazahlen zu, zeigt aber keine Fehlermeldung an, falls ein anderer Wert angegeben wird.

    Wenn du beides möchtest, musst du erst die Überprüfung (isNaN()) mit der Fehlermeldung machen, und anschließend die Zahlen zu floats parsen (parseFloat()).

    Gruß,
    Martin