Blöde frage if - else usw.
Übersicht

![]() |
SereyanneBetreff: Blöde frage if - else usw. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Keine Sorge ich hab schon das forum durchsucht!!
trotzdem muss ich so ne dämliche frage stellen, die ich selbst total bescheuert finde aber ich komm nicht weiter!!! wann brauch ich elseif??? wann brauch ich endif??? was ist der unterschied else - elseif, wie benutz ich das??? Code: [AUSKLAPPEN] Locate 2,410
antwort$ = Input ("ja / nein ") Text 2,440, antwort$ If antwort$="ja" Then Nehmen() ElseIf antwort$="nein" Then Goto sprung2 Else Goto sprung3 EndIf also ich möchte eine antwort eingeben können, es soll abgefragt werden ob ich "ja", "nein" oder irgendwas anderes eingegeben hab. bei meinem basic früher ging das so: Code: [AUSKLAPPEN] if antwort$="ja" then soundso
if antwort$="nein" then soundso else soundso aber hier geht das nicht, da kommt "else without if" was mach ich falsch? |
||
![]() |
Artemis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du Else-Zweige benutzen möchtest darf die Anweisung nicht nach dem If/ElseIf stehen.
Also folgendes geht nicht: Code: [AUSKLAPPEN] If a = 1 Then Print "a=1"
Else Print "a=was anderes" EndIf Sondern es muss so sein: Code: [AUSKLAPPEN] If a = 1 Then
Print "a=1" Else Print "a=was anderes" EndIf Der Vorteil eines ElseIf-Zweiges ist der, dass das ganze nur überprüft und abgearbeitet wird, wenn der vorige If-Zweig nicht zutraf. Code: [AUSKLAPPEN] If 1 = 1 Then
Print "Tata" ElseIf 1 = 1 Then Print "Tutu" Else Print "Toto" EndIf Das gibt nur "Tata" aus, weil der Rest des If/ElseIf/Else-Konstruktes ignoriert wird. BTW: Du solltest von der Benutzung von GOTO Abstand nehmen und besser Funktionen benutzen. |
||
![]() |
Sereyanne |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Also folgendes geht nicht:
Code: [AUSKLAPPEN] If a = 1 Then Print "a=1"
Else Print "a=was anderes" EndIf Sondern es muss so sein: Code: [AUSKLAPPEN] If a = 1 Then
Print "a=1" Else Print "a=was anderes" EndIf ist das jetzt dein ernst? weil eigentlich ist das doch das gleiche, nur in der nächsten zeile... man auf sowas blödes wär ich nie gekommen - danke! Zitat: BTW: Du solltest von der Benutzung von GOTO Abstand nehmen und besser Funktionen benutzen.
danke für den tipp. ich hab schon gelesen dass goto "böse" ist. keine sorge, fungiert nur als platzhalter bis der code (in dem fall die if-geschichte) funktioniert. ich will keine riesigen codes schreiben wo ich dann fehler suchen muss. mach ich erst wenn der eigentliche mechanismus funzt. danke für die hilfe! |
||
![]() |
FireballFlameBetreff: Re: Blöde frage if - else usw. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sereyanne hat Folgendes geschrieben: bei meinem basic früher ging das so:
Code: [AUSKLAPPEN] if antwort$="ja" then soundso
if antwort$="nein" then soundso else soundso Das geht in Blitz genauso ^^ ElseIf braucht man meiner Meinung nach übrigens überhaupt nicht. Ich finde Code: [AUSKLAPPEN] If 1 = 1 Then Print "Tata" Else If 1 = 1 Then Print "Tutu" Else Print "Toto" End If End If deutlich übersichtlicher, aber das ist wohl Geschmackssacke... |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also das mit der doppelten if verzweigung ist, besonders für Anfänger noch deutlich komplizierter und unübersichtlicher
Falls eine Variable mehr als 3 Zustände annehmen kann, sollte man, meiner Meinung nach, eher zu Select/Case greifen, da es dann übersichtlicher wird |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Stimmt. Aber nur dann, wenn in der "äußeren" und in der "inneren" Abfrage die gleiche Variable geprüft wird. | ||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group