Problem mit Select bei PureBasic
lima-city → Forum → Programmiersprachen → Basic
aktuelle bundeskanzler
antwort
anweisung
arbeiten
bundesrepublik
code
eingabe
fehler
frage
helfen
hilfreiche antworten
horst
input
jemand
kleines quiz
leute
problem
string
umgehen
vergangenheit
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
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! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage