Fehler 'Else' without 'If'

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Dimo

Betreff: Fehler 'Else' without 'If'

BeitragSo, Okt 19, 2008 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

ich hab mir hier so ein Buch gekauft "Programmieren für Kids" und lerne jetzt fleißig programmieren. Das ganze wid anhand von BlitzBasic beigebracht. Also im Buch wird zum Beispiel folgender Code vorgegeben:

Zitat:

AppTitle "Hallo1"
Print "Hallo, ich bin dein PC"
Print "Und wer bist du?"
Name$ = Input()
Print Name$ + " , wie geht es dir?"
Antwort$ = Input()
If Antwort$ = "gut" Then Print "Das freut mich!"

ElseIf Antwort$ = "schlecht" Then Print "Ooh! Das tut mir leid."

Else
Print "Das versteh ich nicht... Surprised"

EndIf



Wenn ich aber das "Programm" ausführe, kommt der Fehler
"'Else' without 'If'"

Den Code habe ich mehrmals überprüft ist genauso wie im Buch.

Ist da doch was falsch?

Danke im voraus

BladeRunner

Moderator

BeitragSo, Okt 19, 2008 15:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Du darfst das print nicht hinter das then setzen sondern in eine eigene Zeile.
Wenn du hinter Then befehle setzt erwartet bb das nach dieser Zeile das if zuende ist, und somit wird es bei einem else mit Verwirrung reagieren.
Also:
Code: [AUSKLAPPEN]
AppTitle "Hallo1"
Print "Hallo, ich bin dein PC"
Print "Und wer bist du?"
Name$ = Input()
Print Name$ + " , wie geht es dir?"
Antwort$ = Input()

If Antwort$ = "gut" Then
    Print "Das freut mich!"
Else If Antwort$ = "schlecht" Then
    Print "Ooh! Das tut mir leid."
Else
Print "Das versteh ich nicht... Surprised"
EndIf


Siehe dazu auch bei If in der Hilfe.
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

TimBo

BeitragSo, Okt 19, 2008 15:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

also versuche es mal so:
Code: [AUSKLAPPEN]

AppTitle "Hallo1"
Print "Hallo, ich bin dein PC"

Print "Und wer bist du?"
Name$ = Input()

Print Name$ + " , wie geht es dir?"
Antwort$ = Input()
If Antwort$ = "gut" 
     Print "Das freut mich!"
ElseIf Antwort$ = "schlecht" 
     Print "Ooh! Das tut mir leid."
Else
     Print "Das versteh ich nicht... "
EndIf


Man kann If [bedingung] then Anweisung schreiben, aber nur, wenn man kein else elseif benutzen möchte.

Wenn man else bzw. elseif benutzen möchte, muss man die anweisung dann immer in eine extra Zeile schrieben.
Aber wenn du eine extra Zeile benutzt, dann kannst du das "then" weglassen.

Viele Grüße
TimBo

Edit: BladeRunner war schneller
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
 

Dimo

BeitragSo, Okt 19, 2008 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke schöön. Jetzt funktioniert es.

FireballFlame

BeitragSo, Okt 19, 2008 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
TimBo hat Folgendes geschrieben:
Man kann If [bedingung] then Anweisung schreiben, aber nur, wenn man kein else elseif benutzen möchte.

Wenn man else bzw. elseif benutzen möchte, muss man die anweisung dann immer in eine extra Zeile schrieben.

Nicht ganz. Wenn du immer nur eine einzige Anweisung hast, kannst auch alles in dieselbe Zeile schreiben, solange dir das nicht zu unübersichtlich wird.

Code: [AUSKLAPPEN]
If Antwort$ = "gut" Then Print "Das freut mich!" ElseIf Antwort$ = "schlecht" Then Print "Ooh! Das tut mir leid." Else Print "Das versteh ich nicht... Surprised"
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

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group