kostenloser Webspace werbefrei: lima-city


Problem mit Select bei PureBasic

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    audiogames

    audiogames hat kostenlosen Webspace.

    Hi Leute,

    Hab ein Problem, und wäre super wenn mir jemand dabei helfen könnte. Und zwar will ich ein kleines Quiz in Purebasic programmieren, aber habe ein Problem mit Select. Hier erstmal der Code:

    OpenConsole()
    PrintN("Frage 1: Wer ist der aktuelle Bundeskanzler in der Bundesrepublik Deutschland?")
    PrintN("a) Horst Koehler")
    PrintN("b) Angela Merkel")
    PrintN("c) Gerhard Schroeder")
    Input()
    Select Input
      Case 1
    Input = a
        PrintN("Nein, leider falsch!")  
      Case 2
        Input = b
        PrintN("Du hast einen unglaublichen Punkt erreicht!")
      Case 3
    Input = c
    PrintN("Nein, du lebst ja wohl leider in der Vergangenheit. Knapp daneben ist auch vorbei!")
      Default
        PrintN("Ne, da hast du was falsches eingegeben!")
    EndSelect
    Delay(2000)
    CloseConsole()


    So, aber wie mache ich das denn genau, weil er erkennt immer nur die Default Anweisung als einzige Möglichkeit. Wo liegt denn bitte der Fehler, hoffe mir kann jemand helfen.
    Schon mal vielen Dank im voraus für hilfreiche Antworten.

    lg

    Beitrag zuletzt geändert: 26.12.2012 22:27:41 von burgi
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Hallo audiogames,

    die Input()-Anweisung liefert Dir einen String zurück aber Deine Case-Anweisungen prüfen auf Integer. Deshalb landest Du immer im Default-Fall. Desweiteren willst Du ja eigentlich die Eingabe des Benutzers prüfen, welche ja a, b oder c nicht aber 1, 2 oder 3 sein soll.
    Falls PureBasic mit String in Select/Case umgehen kann, dann kannst Du einfach folgendes machen:
    Select Input()
      Case "a"
      ...
      Case "b"
      ...
      Case "c"
      ...
      Default
      ...
    EndSelect
    Die Zeilen mit Input = a, Input = b bzw. Input = c brauchst Du gar nicht. Alternativ kannst Du ja auch mit If arbeiten:
    eingabe = Input()
    If eingabe = "a"
      ...
    ElseIf eingabe = "b"
      ...
    ElseIf eingage = "c"
      ...
    Else
      ...
    EndIf


    Beitrag zuletzt geändert: 27.12.2012 0:24:42 von darkpandemic
  4. Autor dieses Themas

    audiogames

    audiogames hat kostenlosen Webspace.

    Danke für die Antwort, hat geklappt. Ich hätte es natürlich auch mit If machen können, aber ich finde es persönlich mit Select übersichtlicher!
    Aber trotzdem vielen dank!
  5. 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!