kostenloser Webspace werbefrei: lima-city


Problem mit schleifen

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    n*********r

    Hallo ich habe da ein Problem mit Schleifen.
    Und zwar sagt er mir immer : " Loop ohne Do "
    Ich kenn das ja inzwischen, dass die Fehlermeldungen
    bei Visual Basic etwas mager sind.

    Hier ist der Code

    code:
    Do Until Zähler = 8

    Randomize
    x = ( (Int + 35) * Rnd)

    Zähler = Zähler + 1

    Select Case x

    Case 0: Text1.Text = "a"
    Case 0: Text1.Text = "b"
    Case 0: Text1.Text = "c"

    Loop


    Wir hatten das heute im Unterricht, und ich wollte das
    nachmachn, aber irgendwie klappt das net so mit mir

    Achja eine 2. Fehlermeldung kommt auch.
    Bei dem Befehl

    x = ( (Int + 35) * Rnd)

    akzeptiert er es erst, wenn ich aus dem + eine ( mache und die erste (
    Klammer weg ist. Bei uns im Unterricht war es aber

    x = ( (Int + 35) * Rnd)

    von daher kann ich mir das ganze Theater nicht erklären.
    I need help
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Der korrekte Code lautet wie folgt:

    Sub Test()
    
        Do Until Zähler = 8
        
            Randomize
            
            x = 35 * Rnd
            
            Zähler = Zähler + 1
            
            Select Case x
            
                Case 0: Text1.Text = "a"
                Case 0: Text1.Text = "b"
                Case 0: Text1.Text = "c"
            
            End Select
        
        Loop
    
    End Sub



    Erklärung der Meldung "Loop ohne Do": Visual Basic wertet die Schleifen von der untergeordnetesten bis zur höchsten Schleife aus. Da aber die Schleife "Select" unvollständig ist und danach "Do" folgt, kommt die Meldung "Loop ohne Do".

    Erklärung zur Rnd-Funktion:

    "x = ((Int + 35) * Rnd)" bedeutet vereinfacht: Typ Integer plus 35 mal Zufall. Dies kann gar nicht funktionieren.
    Richtig würde es lauten: "x = (Int(+35) * Rnd)". Das bedeutet: Umwandlung von 35 in eine ganze Zahl mal Zufall. Dies funktioniert.

    Hinweis zur Verwendung der Rnd-Funktion:

    Zufallszahl = Int((Obergrenze - Untergrenze + 1) * Rnd + Untergrenze)
  4. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!