Ankündigung

Einklappen
Keine Ankündigung bisher.

while schleife

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

  • while schleife

    Hallo,
    ich habe eine kleine whileschleife zusammen gebastelt. Also ich hatte ein kleines Script und ich hab das halt weiter gebaut und an mich angepasst. So und jetzt ist da irgendwo ein Fehler drin
    Also erstmal wofür das Teil ist: Also es kommt immer wieder ein prompt Feld, wo man die Zahl 19 eingeben muss. Also wenn man dann 18 eingibt, dann kommt wieder so ein Eingabe Feld. Und erst wenn man die Lösung (19) eingibt, kommt alert: Du hast es geschafft!

    Soo... Und jetzt das Problem: Das Script funktioniert immer nur bis zum 3. Prompt Befehl, also bis prompt("Die Zahl ist 2-stellig.","") Das heißt, dass wenn man dann nach dem dritten Versuch wieder was falsch eingibt kommt dann wieder das hier: prompt("Die Zahl ist 2-stellig.","") und nicht wie eigentlich: prompt("Sie ist größer als 15 und kleiner als 25.","")

    Kann mir jemand den Fehler im Script sagen?

    Code:
    <script LANGUAGE="JavaScript">
    function warteschleife() {
            var stop ="19"
            stop = prompt("Es ist eine Zahl zwischen 1 und 30.","")
    while (stop != "19")   {
                  stop = prompt("Ein Tipp???","")
    while (stop != "19")
            stop = prompt("Die Zahl ist 2-stellig.","")
    while (stop != "19")
            stop = prompt("Sie ist größer als 15 und kleiner als 25.","")
    while (stop != "19")
            stop = prompt("Es ist eine Primzahl.","")
    while (stop != "19")
            stop = prompt("Mehr Tipps???","")
    while (stop != "19")
            stop = prompt("Neeee, oder???","")
    while (stop != "19")
            stop = prompt("OK, aber nur einen noch:","")
    while (stop != "19")
            stop = prompt("Rechne 1+2+3+4...","")
    while (stop != "19")
            stop = prompt("x2 und dann kommt raus???","")
    while (stop != "19")
            stop = prompt("Ok und das jetzt noch - 1!!!","")
                             }
            alert("Du hast es geschafft!!!")
    }
    //-->
    </script>
    mfg Schorschi,
    www.Georg-Schaal.de
    www.WebFUNPark.de

  • #2
    AW: while schleife

    Hi,
    Zitat von Georg-Schaal.de Beitrag anzeigen
    Das Script funktioniert immer nur bis zum 3. Prompt Befehl, also bis prompt("Die Zahl ist 2-stellig.","")
    Logisch. Und wenn Du den Quellcode sinnvoll einrückst, dann siehst Du auch warum:

    HTML-Code:
    stop = prompt("Es ist eine Zahl zwischen 1 und 30.","")
    while (stop != "19") {
         stop = prompt("Ein Tipp???","")
         while (stop != "19") stop = prompt("Die Zahl ist 2-stellig.","")
         // ...
         alert("Du hast es geschafft!!!")
    }
    Zitat von Georg-Schaal.de Beitrag anzeigen
    Kann mir jemand den Fehler im Script sagen?
    abgesehen vom Logikfehler:

    <script LANGUAGE="JavaScript"> ist veraltet und fehlerhaft -> <script type="text/javascript">
    var stop ="19" ist überflüssig.

    Gruß
    Ingo
    Ingo Webdesign

    Kommentar


    • #3
      AW: while schleife

      ich glaub, ich hab jetzt nur noch mehr Fehler rein gebaut
      Das ist mein zweiter Versuch und er funktioniert nicht. Und leider ist mir nicht durch deine Erklärung: Es ist doch nur ein Logik Fehler, das ganze nicht klar geworden. Vielleicht könntest du das mal Erläutern.

      Hier mein 2. Versuch:
      Code:
      <script type="text/javascript">
      function warteschleife {
      stop = prompt("Es ist eine Zahl zwischen 1 und 30.","")
           while (stop != "19") stop = prompt("Ein Tipp???","")
           while (stop != "19") stop = prompt("Die Zahl ist 2-stellig.","")
           while (stop != "19") stop = prompt("Sie ist größer als 15 und kleiner als 25.","")
           while (stop != "19") stop = prompt("Es ist eine Primzahl.","")
           while (stop != "19") stop = prompt("Mehr Tipps???","")
           while (stop != "19") stop = prompt("Neeee, oder???","")
           while (stop != "19") stop = prompt("OK, aber nur einen noch:","")
           while (stop != "19") stop = prompt("Rechne 1+2+3+4...","")
           while (stop != "19") stop = prompt("x2 und dann kommt raus???","")
           while (stop != "19") stop = prompt("Ok und das jetzt noch - 1!!!","")
      alert("Du hast es geschafft!!!")
                           }
      </script>
      mfg Schorschi,
      www.Georg-Schaal.de
      www.WebFUNPark.de

      Kommentar


      • #4
        AW: while schleife

        Hi,
        Du weißt, was "while" überhaupt bedeutet?
        HTML-Code:
        while (stop != "19") stop = prompt("Ein Tipp???","")
        wird solange wiederholt, bis die Bedingung erfüllt wird.

        Abgesehen davon, dass eine Abbruchmöglichkeit für den User nett wäre, solltest Du einen Schleifenzähler einbauen, der zum einen angibt, welcher Text ausgegeben werden soll und zum anderen eine Ende ermöglicht.

        Gruß
        Ingo
        Ingo Webdesign

        Kommentar


        • #5
          AW: while schleife

          Zitat von Ingo Beitrag anzeigen
          Hi,
          Du weißt, was "while" überhaupt bedeutet?
          HTML-Code:
          while (stop != "19") stop = prompt("Ein Tipp???","")
          wird solange wiederholt, bis die Bedingung erfüllt wird.
          mhh ja das weiß ich. Und darf ich dann vor die anderen prompt nicht mehr while (stop != "19") stop hinschreiben?? .. mhh könntest du mir nochmal auf die Sprünge helfen??
          also.. ich würds jetz mal so ausprobieren

          3. Versuch:
          Code:
          <script type="text/javascript">
          function warteschleife {
          stop = prompt("Es ist eine Zahl zwischen 1 und 30.","")
               while (stop != "19") stop = prompt("Ein Tipp???","")
          prompt("Die Zahl ist 2-stellig.","")
          prompt("Sie ist größer als 15 und kleiner als 25.","")
          prompt("Es ist eine Primzahl.","")
          prompt("Mehr Tipps???","")
          prompt("Neeee, oder???","")
          prompt("OK, aber nur einen noch:","")
          prompt("Rechne 1+2+3+4...","")
          prompt("x2 und dann kommt raus???","")
          prompt("Ok und das jetzt noch - 1!!!","")
          alert("Du hast es geschafft!!!")
                               }
          </script>
          Aber das funktioniert auch irgendwie nicht Kannst du mir nochmal weiter helfen? bitte!

          Abgesehen davon, dass eine Abbruchmöglichkeit für den User nett wäre, solltest Du einen Schleifenzähler einbauen, der zum einen angibt, welcher Text ausgegeben werden soll und zum anderen eine Ende ermöglicht.
          mhh.. das will ich ja ausgerechnet nicht. Der Besucher muss dann schon so lange ausprobieren, bis es zu ende ist Also ist so ein bisschen um den Besucher zu ärgern. Und kommt jetzt nicht mit, dann verscheuchst du ja deine Besucher. Mhh gehört zum FunStuff
          mfg Schorschi,
          www.Georg-Schaal.de
          www.WebFUNPark.de

          Kommentar


          • #6
            AW: while schleife

            Hi,
            Zitat von Georg-Schaal.de Beitrag anzeigen
            Aber das funktioniert auch irgendwie nicht
            aus demselben Grund wie zuvor - Dir ist offenbar immer noch nicht klar, was while macht.

            Zitat von Georg-Schaal.de Beitrag anzeigen
            Der Besucher muss dann schon so lange ausprobieren, bis es zu ende ist Also ist so ein bisschen um den Besucher zu ärgern.
            na gut... dann in etwa so:

            HTML-Code:
            var aergern=new Array("Es ist eine Zahl zwischen 1 und 30.", "Ein Tipp???", "Die Zahl ist 2-stellig.");
            var stop='', x=0, n=aergern.length-1;
            while (stop != "19") {
                stop = prompt(aergern[x],"");
                if(x<n) x++;
            }
            alert("Du hast es geschafft!!!");
            Gruß
            Ingo
            Ingo Webdesign

            Kommentar


            • #7
              AW: while schleife

              @ Geog

              Ich bin auch schon mal in so eine beschi*** Schleife von dir gekommen.
              Erstens: - ich musste meinen Browser via TaskManager auf die harte Tour beenden
              Zweitens: - ich gehe nie wieder auf deine Seite
              Drittens: - ich hate jetzt ein Add-On, wo man sofort Java Script trotz alert oder prompt Box deaktivieren kann => in Quelltext schauen Lösung gefunden
              Viertens: Wenn du schon solche zeitvertreibenden und sinnlosen "Spiele" machen willst, dann beweise dein Können doch bitte mit PHP => da sieht man die Lösung nicht und man kann jeder Zeit aufhören

              Kommentar


              • #8
                AW: while schleife

                okay danke, den script hab ich fertig:

                Code:
                <script type="text/javascript">
                var aergern=new Array("Es ist eine Zahl zwischen 1 und 30.",
                                      "Ein Tipp???",
                                      "Die Zahl ist 2-stellig.",
                                      "Sie ist größer als 15 und kleiner als 25.",
                                      "Es ist eine Primzahl.",
                                      "Mehr Tipps???",
                                      "Neeee, oder???",
                                      "OK, aber nur einen noch:",
                                      "Rechne 1+2+3+4...",
                                      "Ok und das jetzt noch - 1!!!");
                var stop='', x=0, n=aergern.length-1;
                while (stop != "19") {
                    stop = prompt(aergern[x],"");
                    if(x<n) x++;
                }
                alert("Du hast es geschafft!!!");
                </script>
                Nur jetzt möchte ich den ja verlinken, also pack ich den Script in den Head-Bereich und den in den Body:
                Code:
                <a href="javascript:warteschleife()">Warteschleife</a>
                So und dann den oben stehenden Script noch mit function warteschleife() Aber das funktioniert nicht. Also hier alles:

                Code:
                <head>
                <script type="text/javascript">
                function warteschleife() {
                var aergern=new Array("Es ist eine Zahl zwischen 1 und 30.",
                                      "Ein Tipp???",
                                      "Die Zahl ist 2-stellig.",
                                      "Sie ist größer als 15 und kleiner als 25.",
                                      "Es ist eine Primzahl.",
                                      "Mehr Tipps???",
                                      "Neeee, oder???",
                                      "OK, aber nur einen noch:",
                                      "Rechne 1+2+3+4...",
                                      "Ok und das jetzt noch - 1!!!");
                var stop='', x=0, n=aergern.length-1;
                while (stop != "19") {
                    stop = prompt(aergern[x],"");
                    if(x<n) x++;
                }
                alert("Du hast es geschafft!!!");
                }
                </script></head>
                <body>
                <a href="javascript:warteschleife()">Warteschleife</a>
                </body>
                Warum funkioniert es nicht?? Also ohne function warteschleife() funktioniert es.


                Edit (autom. Beitragszusammenführung):

                Wenn du schon solche zeitvertreibenden und sinnlosen "Spiele" machen willst, dann beweise dein Können doch bitte mit PHP => da sieht man die Lösung nicht und man kann jeder Zeit aufhören
                hää?? Warum kann man in PHP jederzeit damit aufhören???
                Wenn man dort in so eine Schleife kommt, dann kommt man doch au net direkt raus.

                Und mal wirklich, ich mein mit den Tipps die dann nach und nach kommen, da muss man schon ernsthaft blind sein, oder einen IQ unter 50 um das net raus zu kriegen
                Zuletzt geändert von Georg-Schaal.de; 24.09.2007, 14:04. Grund: Antwort auf eigenen Beitrag innerhalb von 24 Stunden!
                mfg Schorschi,
                www.Georg-Schaal.de
                www.WebFUNPark.de

                Kommentar


                • #9
                  AW: while schleife

                  Hi,
                  Zitat von Georg-Schaal.de Beitrag anzeigen
                  Warum funkioniert es nicht??
                  in welchem Browser soll das nicht funktionieren?

                  Zitat von Georg-Schaal.de Beitrag anzeigen
                  hää?? Warum kann man in PHP jederzeit damit aufhören???
                  Wenn man dort in so eine Schleife kommt, dann kommt man doch au net direkt raus.
                  Weil PHP auf dem Server läuft und lediglich auf Anforderung (neue) Seiten ausliefert.

                  Übrigens sollte Dein letzter Prompt etwas in der Art "sorry, dass ich Dich ärgere... aber gehe zur Not einfach alle Zahlen durch." kommen.
                  Ingo Webdesign

                  Kommentar


                  • #10
                    AW: while schleife

                    Hi,
                    Zitat:
                    Zitat von Georg-Schaal.de Beitrag anzeigen
                    Warum funkioniert es nicht??
                    in welchem Browser soll das nicht funktionieren?
                    sorry.. funkt jetzt doch VIELEN DANK!!!

                    ähhm. könnte man dann noch so was einbauen, wenn (if ?!) man nach 10 Versuchen es nicht raus bekommen hat, dann automatisch alert kommt: Du hast es geschafft?
                    mfg Schorschi,
                    www.Georg-Schaal.de
                    www.WebFUNPark.de

                    Kommentar


                    • #11
                      AW: while schleife

                      Hi,
                      Zitat von Georg-Schaal.de Beitrag anzeigen
                      ähhm. könnte man dann noch so was einbauen, wenn (if ?!) man nach 10 Versuchen es nicht raus bekommen hat, dann automatisch alert kommt: Du hast es geschafft?
                      darauf hättest Du eigentlich auch selbst kommen sollen - aber wieso "geschafft" wenn's doch nicht zutrifft?
                      HTML-Code:
                      var n=aergern.length;
                      while (stop != "19" && x<n) {
                          stop = prompt(aergern[x],"");
                          x++;
                      }
                      if(stop == "19") alert("Du hast es geschafft!!!");
                      else alert("sorry, wieder falsch - aber nun bist Du erlöst.");
                      Gruß
                      Ingo
                      Ingo Webdesign

                      Kommentar


                      • #12
                        AW: while schleife

                        hää?? vorhin postest du mir den script:
                        var stop='', x=0, n=aergern.length-1;
                        while (stop != "19") {
                        stop = prompt(aergern[x],"");
                        if(x<n) x++;
                        }
                        alert("Du hast es geschafft!!!");
                        }
                        und jezt den:
                        Code:
                        var n=aergern.length;
                        while (stop != "19" && x<n) {
                            stop = prompt(aergern[x],"");
                            x++;
                        }
                        if(stop == "19") alert("Du hast es geschafft!!!");
                        else alert("sorry, wieder falsch - aber nun bist Du erlöst.");
                        man Ingo, du weißt doch, ich bin da noch net so geübt drin. Also könntest du mir vielleicht das ganze mal mit dem kompletten Script geben?? Weil irgendwie passen die Stücke nicht zusammen
                        mfg Schorschi,
                        www.Georg-Schaal.de
                        www.WebFUNPark.de

                        Kommentar


                        • #13
                          AW: while schleife

                          Hi,
                          Zitat von Georg-Schaal.de Beitrag anzeigen
                          man Ingo, du weißt doch, ich bin da noch net so geübt drin. Also könntest du mir vielleicht das ganze mal mit dem kompletten Script geben??
                          nö - alles andere kann so bleiben - ein wenig Eigeninitiative solltest Du schon zeigen.

                          Gruß
                          Ingo
                          Ingo Webdesign

                          Kommentar


                          • #14
                            AW: while schleife

                            Ja Eigeninitiative ist schon vorhanden. Und ich würde wohl auch nicht posten, wenn ich es nicht vorher ausprobiert hätte

                            Hier bestimmt 5. Versuch :
                            Code:
                            <script type="text/javascript">
                            function warteschleife() {
                            var aergern=new Array("Es ist eine Zahl zwischen 1 und 30.",
                                                  "Ein Tipp???",
                                                  "Die Zahl ist 2-stellig.",
                                                  "Sie ist größer als 15 und kleiner als 25.",
                                                  "Es ist eine Primzahl.",
                                                  "Mehr Tipps???",
                                                  "Neeee, oder???",
                                                  "OK, aber nur einen noch:",
                                                  "Rechne 1+2+3+4...",
                                                  "Ok und das jetzt noch - 1!!!");
                            var n=aergern.length;
                            while (stop != "19" && x<n) {
                                stop = prompt(aergern[x],"");
                                x++;
                            }
                            if(stop == "19") alert("Du hast es geschafft!!!");
                            else alert("Sorry, wieder falsch - aber nun bist Du erlöst.");
                            </script>
                            ??? What´s wrong?
                            mfg Schorschi,
                            www.Georg-Schaal.de
                            www.WebFUNPark.de

                            Kommentar


                            • #15
                              AW: while schleife

                              Hi,
                              Zitat von Georg-Schaal.de Beitrag anzeigen
                              ??? What´s wrong?
                              wie war das doch gleich mit dem "IQ unter 50"?

                              Du solltest (auch) Javascript im Firefox testen und bei Fehlern in die Javascript-Konsole schauen, die sagt Dir nämlich:
                              Fehler: missing } after function body
                              Quelltext:
                              else alert("Sorry, wieder falsch - aber nun bist Du erlöst.");
                              und spätestens wenn Du das fehlende Zeichen angefügt hast und folgende Fehlermeldung bekommst:
                              Fehler: x is not defined
                              und Dich vielleicht auch noch an meinen Satz "alles andere kann so bleiben" erinnerst, sollte Dir klar sein, was Du da noch alles weggelassen hast.

                              Gruß
                              Ingo
                              Ingo Webdesign

                              Kommentar

                              homepage-forum.de - Hilfe für Webmaster! Statistiken

                              Einklappen

                              Themen: 56.657   Beiträge: 428.674   Mitglieder: 28.352   Aktive Mitglieder: 80
                              Willkommen an unser neuestes Mitglied, Caldzera.

                              Online-Benutzer

                              Einklappen

                              139 Benutzer sind jetzt online. Registrierte Benutzer: 1, Gäste: 138.

                              Mit 3.502 Benutzern waren am 23.01.2020 um 17:20 die meisten Benutzer gleichzeitig online.

                              Die neuesten Themen

                              Einklappen

                              Die neuesten Beiträge

                              Einklappen

                              Lädt...
                              X