Select-Problem
Übersicht

QuacksalberBetreff: Select-Problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo!
Erstmal muss ich sagen dass ich die Demo von BlitzBasic3D verwende, deshalb kann der Fehler auch daran liegen. Wenn nicht handelt es sich wahrscheinlich um einen typischen Anfängerfehler. Bei folgendem Programm kommt die Fehlermeldung: Expecting ´Case´, ´Default´ or ´End Select´. Allerdings habe ich überall End Select festgelegt. Hier der Programmcode: Print " Währungsumrechner" Eingabe$ = Input("Welche Währung wollen Sie umrechnen? ") If Eingabe$ = "euro" Eingabe1$ = Input("In welche Währung wollen sie umrechnen? ") Select Eingabe1$ Case "pfund", "uk-pfund", "englische pfund", "pound" Euro1# = Input("Betrag Euro: ") Pfund2# = Euro1#*0.8672 Print "" +Euro1#+ " Euro entsprechen " +Pfund2+ " UK-Pfund" Case "dollar", "us-dollar" Euro1# = Input("Betrag Euro: ") dollar1# = Euro1#*1,4033 Print "" +Euro1#+ " Euro entsprechen " +dollar1+ " US-Dollar" Default Print "Bitte überprüfen Sie ihre Eingabe!" End Select ElseIf Eingabe$ = "dollar", "us-dollar", "$" Eingabe2$ = Input("In welche Währung wollen sie umrechnen? ") Select Eingabe2$ Case "pfund", "uk-pfund", "englische pfund", "pound" dollar1# = Input("Betrag US-Dollar: ") Pfund2# = dollar1#*0.8672 Print "" +dollar1#+ " US-Dollar entsprechen " +Pfund2+ " UK-Pfund" Case "euro" dollar1# = Input("Betrag US-Dollar: ") Euro2# = dollar1#*0.8672 Print "" +dollar1#+ " US-Dollar entsprechen " +Euro2+ " Euro" Default Print "Bitte überprüfen Sie ihre Eingabe!" End Select ElseIf Eingabe$ = "pfund", "englische pfund" "pound" Eingabe3$ = Input("In welche Währung wollen sie umrechnen? ") Select Eingabe3$ Case "dollar", "us-dollar" Pfund1# = Input("Betrag Pfund: ") Dollar2# = Pfund1#*0.8672 Print "" +Pfund1#+ " US-Dollar entsprechen " +Dollar2+ " UK-Pfund" Case "euro" dollar1# = Input("Betrag Pfund: ") Euro2# = Pfund1#*0.8672 Print "" +Pfund1#+ " US-Dollar entsprechen " +Euro2+ " Euro" Default Print "Bitte überprüfen Sie ihre Eingabe!" End Select WaitKey |
||
![]() |
Johannes´ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du verwechselts den Syntax von Select\Case und If.
Bei dem If Befehl kannst du nicht das schreiben: Code: [AUSKLAPPEN] If Eingabe$ = "pfund", "englische pfund" , "pound"
Hier musst du mit "Or" arbeiten: Code: [AUSKLAPPEN] If Eingabe$ = "pfund" or "englische pfund" or "pound"
Hier ist noch ein kleiner weiterer Fehler: Code: [AUSKLAPPEN] dollar1# = Euro1#*1,4033
Bei Kommazahlen musst du einen Punkt setzten, was du aber meistens gemacht hast, darum denke handelt es sich um einen Flüchtigkeitsfehler. Wahrscheinlich hast du sie schon gesehen, aber ich verweise noch mal auf die Hilfe: https://www.blitzforum.de/help/ Achja, wenn du Code postes, solltest du Codeboxen verwenden, der Button "Code" unter den Smileys. |
||
![]() |
Ana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja da sind ein paar Anfängerfehler drin
erstmal benutze für code mal den Button Code unter der Smilies und schreib es zwischen die [] [] paare dann ist es leichter zu lesen. 1.Du darfst das , nicht für zahlen verwenden. Das ist nur im Deutschen so, im Englischen macht man das mit . 2. if bedingungen haben nicht die möglichkeite verschiedene Werte hintereinander zu stellen, das musst du mit a = b or a = c or a = d machen oder sinnvoller mit select und case 3. So ist der Code zumindest syntaktisch richtig: Code: [AUSKLAPPEN] Print " Währungsumrechner"
Eingabe$ = Input("Welche Währung wollen Sie umrechnen? ") If Eingabe$ = "euro" Eingabe1$ = Input("In welche Währung wollen sie umrechnen? ") Select Eingabe1$ Case "pfund", "uk-pfund", "englische pfund", "pound" Euro1# = Input("Betrag Euro: ") Pfund2# = Euro1#*0.8672 Print "" +Euro1#+ " Euro entsprechen " +Pfund2+ " UK-Pfund" Case "dollar", "us-dollar" Euro1# = Input("Betrag Euro: ") dollar1# = Euro1#*1.4033 Print "" +Euro1#+ " Euro entsprechen " +dollar1+ " US-Dollar" Default Print "Bitte überprüfen Sie ihre Eingabe!" End Select ElseIf Eingabe$ = "dollar" Eingabe2$ = Input("In welche Währung wollen sie umrechnen? ") Select Eingabe2$ Case "pfund", "uk-pfund" dollar1# = Input("Betrag US-Dollar: ") Pfund2# = dollar1#*0.8672 Print "" +dollar1#+ " US-Dollar entsprechen " +Pfund2+ " UK-Pfund" Case "euro" dollar1# = Input("Betrag US-Dollar: ") Euro2# = dollar1#*0.8672 Print "" +dollar1#+ " US-Dollar entsprechen " +Euro2+ " Euro" Default Print "Bitte überprüfen Sie ihre Eingabe!" End Select ElseIf Eingabe$ = "pfund" Eingabe3$ = Input("In welche Währung wollen sie umrechnen? ") Select Eingabe3$ Case "dollar", "us-dollar" Pfund1# = Input("Betrag Pfund: ") Dollar2# = Pfund1#*0.8672 Print "" +Pfund1#+ " US-Dollar entsprechen " +Dollar2+ " UK-Pfund" Case "euro" dollar1# = Input("Betrag Pfund: ") Euro2# = Pfund1#*0.8672 Print "" +Pfund1#+ " US-Dollar entsprechen " +Euro2+ " Euro" Default Print "Bitte überprüfen Sie ihre Eingabe!" End Select EndIf WaitKey () |
||
Don't only practice your art,
but force your way into its secrets, for it and knowledge can raise human to divine |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
und Tu dir und uns einen gefallen und rück deinen code ein, denn
Code: [AUSKLAPPEN] if dies
tu das else das endif ist eben nicht so gut zu lesen wie Code: [AUSKLAPPEN] if dies tu das else das endif Hier ist der Programmfluss schön strukturiert zu erkennen. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Quacksalber |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ein großes (wenn auch verspätetes) Danke an alle die geantwortet haben.
Ich werde versuchen eure Vorschläge in die Tat umzusetzen. |
||
Quacksalber |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Als ich jetzt das Programm um ein paar andere Währungen, zB Yen erweitern wollte bin darauf gestoßen dass wenn ich
Code: [AUSKLAPPEN] Case "yen", "japanische yen", "jpy" ;jpy ist die intern. bezeichnung für yen
eingebe wieder der oben beschriebene Fehler kommt. Mich würde nun einfach interressieren wieso. Der Fehler dürfte von "jpy" kommen, denn wenn ich es lösche funktioniert das programm wieder. LG Quacksalber |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Poste doch mal bitte deinen aktuellen Code komplett. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Quacksalber |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Graphics 800,600,16,2
Color 255,0,0; Print (" Währungsumrechner") Color 0,0,255 Eingabe$ = Input("Welche Währung wollen Sie umrechnen? ") Select Eingabe$ ;----------------------------------EURO---------------------------------------- Case "euro", "eur" Eingabe1$ = Input("In welche Währung wollen sie umrechnen? ") Select Eingabe1$ Case "pfund", "uk-pfund", "englische pfund", "pound" Euro1# = Input("Betrag Euro: ") Fremd1# = Euro1#*0.8502 Print "" +Euro1#+ " Euro entsprechen " +Fremd1+ " UK-Pfund." Case "dollar", "us-dollar", "usd" Euro1# = Input("Betrag Euro: ") Fremd1# = Euro1#*1.3667 Print "" +Euro1#+ " Euro entsprechen " +Fremd1+ " US-Dollar." Case "yen", "japanische yen" Euro1# = Input("Betrag Euro: ") Fremd1# = Euro1#/0.0089 Print "" +Euro1#+ " Euro entsprechen " +Fremd1+ " Japanische Yen." Default Print ("Bitte überprüfen Sie ihre Eingabe!") End Select ;---------------------------------US-Dollar-------------------------------------------- Case "dollar", "us-dollar", "usd" Eingabe1$ = Input("In welche Währung wollen sie umrechnen? ") Select Eingabe1$ Case "pfund", "uk-pfund" dollar1# = Input("Betrag US-Dollar: ") Fremd1# = dollar1#*0.6242 Print "" +dollar1#+ " US-Dollar entsprechen " +Fremd1+ " UK-Pfund." Case "euro", "eur" dollar1# = Input("Betrag US-Dollar: ") Fremd1# = dollar1#/1.3667 Print "" +dollar1#+ " US-Dollar entsprechen " +Fremd1+ " Euro." Case "yen", "japanische yen" dollar1# = Input("Betrag US-Dollar: ") Fremd1# = dollar1#/0.0121 Print "" +dollar1#+ " US-Dollar entsprechen " +Fremd1+ " Japanische Yen." Default Print ("Bitte überprüfen Sie ihre Eingabe!") End Select ;----------------------------------------------Pfund--------------------------------- Case "pfund", "englische pfund", "pound" Eingabe1$ = Input("In welche Währung wollen sie umrechnen? ") Select Eingabe1$ Case "dollar", "us-dollar", "usd" Pfund1# = Input("Betrag Pfund: ") Fremd1# = Pfund1#/0.6242 Print "" +Pfund1#+ " Englische Pfund entsprechen " +Fremd1+ " UK-Pfund." Case "euro", "eur" dollar1# = Input("Betrag Pfund: ") Fremd1# = Pfund1#/0.8672 Print "" +Pfund1#+ " Englische Pfund entsprechen " +Fremd1+ " Euro." Case "yen", "japanische yen" dollar1# = Input("Betrag Pfund: ") Fremd1# = Pfund1#/0.0075 Print "" +Pfund1#+ " Englische Pfund entsprechen " +Fremd1+ " Japanische Yen." Default Print ("Bitte überprüfen Sie ihre Eingabe!") End Select ;----------------------------------------------Yen------------------------------------- Case "yen", "japanischer yen" "jpy" Eingabe1$ = Input ("In welche Währung wollen Sie umrechnen? ") Select Eingabe1$ Case "euro", "eur" Yen1# = Input("Betrag Yen: ") Fremd1# = Yen1#*0.0089 Print "" +Yen1#+ " Yen entsprechen " +Fremd1#+ " Euro." Case "pfund", "englische pfund", "pound" Yen1# = Input("Betrag Yen: ") Fremd1# = Yen1#*0.0075 Print "" +Yen1#+ " Yen entsprechen " +Fremd1#+ " Englische Pfund." Case "dollar", "us-dollar", "usd" Yen1# = Input("Betrag Yen: ") Fremd1# = Yen1#*0.0121 Print "" +Yen1#+ " Yen entsprechen " +Fremd1#+ " US-Dollar." Default Print ("Bitte überprüfen Sie ihre Eingabe!") End Select ;--------------------------------------------------------------------------------------------------------- Default Print ("Bitte überprüfen Sie ihre Eingabe!") End Select WaitKey () |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Debugger anschalten, der wird diese Zeile markieren:
Code: [AUSKLAPPEN] Case "yen", "japanischer yen" "jpy"
Da fehlt ein Komma... |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group