1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Batch überspringung der Ansatzpunkte

Dieses Thema im Forum "Sonstige Sprachen" wurde erstellt von Smoothie96, 5. April 2016.

  1. Smoothie96

    Smoothie96 Grünschnabel

    Guten Tag liebe Community,

    Ich habe da ein kleines Problem und finde nichts im Internet, weil ich nicht weiß wie man diese Punkte richtig
    bezeichnet. Und zwar moechte ich ein Quiz erstellen: (Bin neu im Batch programmieren :D)

    Code (Text):
    1. @Echo off
    2. cls
    3. title Mensch
    4. color a
    5.  
    6. :m
    7. cls
    8. echo ----------------------------------------------------------------------------
    9. echo Willkommen bei dem Quiz "Mensch"
    10. echo ----------------------------------------------------------------------------
    11. echo Druecken Sie Enter um fortzufahren
    12. pause>NUL
    13.  
    14. cls
    15. set wahl=0
    16. echo ----------------------------------------------------------------------------
    17. echo 1.Frage
    18. echo ----------------------------------------------------------------------------
    19. echo Wie lange dauert eine Schwangerschaft einer Frau normalerweise?
    20. echo 1) 2 Monate
    21. echo 2) 5 Monate
    22. echo 3) 9 Monate
    23. echo 4) 2 Wochen
    24. set/p %wahl%=Wahl:
    25. if "%wahl%"=="1" goto f
    26. if "%wahl%"=="2" goto f
    27. if "%wahl%"=="3" goto r
    28. if "%wahl%"=="4" goto f
    29. if not "%wahl%"=="1"=="2"=="3"=="4" goto m
    Bis hierhin passt alles. Das goto klappt auch.

    Wenn ich jetzt die richtige Antwort auswaehle dann gehts zu r soweit ok. Doch danach nimmt er f noch mit rein. Wie kann man das verhindern das er den Punkt f nicht überspringt. Ist halt bloed wenn Richtig und gleich danach Falsch kommt :D
    Code (Text):
    1. :r
    2. echo ----------------------------------------------------------------------------
    3. echo Richtig! +2 Punkte
    4. echo ----------------------------------------------------------------------------
    5. pause>NUL
    6.  
    7. :f
    8. echo ----------------------------------------------------------------------------
    9. echo Falsch! +0 Punkte
    10. echo ----------------------------------------------------------------------------
    11. pause>NUL
    Hoffe ihr habt mich verstanden. Danke fuer alle Antworten.

    Liebe Grueße Smoothie96
     
    Zuletzt von einem Moderator bearbeitet: 6. April 2016
  2. sheel

    sheel I love Asm Administrator

    Hi

    wenn das Script nach dem gezeigten Codeteil zu Ende ist, einfach ein exit vor :f machen.
    Sonst sowas:
    Code (Text):
    1. r
    2. echo ----------------------------------------------------------------------------
    3. echo Richtig! +2 Punkte
    4. echo ----------------------------------------------------------------------------
    5. pause>NUL
    6.  
    7. goto nachf
    8.  
    9. :f
    10. echo ----------------------------------------------------------------------------
    11. echo Falsch! +0 Punkte
    12. echo ----------------------------------------------------------------------------
    13. pause>NUL
    14.  
    15. :nachf
    PS: Die "Ansatzpunkte" werden oft "Labels" genannt (auch Jumplabel, Gotolabel usw.usw.)
     
  3. Smoothie96

    Smoothie96 Grünschnabel

    Danke dir hat super geklappt. Habe gar nicht daran gedacht
     
Die Seite wird geladen...