Frage zu Bedingungen (if, then, else etc...)

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Alex

Betreff: Frage zu Bedingungen (if, then, else etc...)

BeitragDi, Aug 24, 2004 0:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo und Guten Abend! Smile

Warscheinlich ist die folgende Frage für euch lachhaft aber ich weis nicht recht wie ich das Problem lösen kann. Evt. steht die Antwort auch im Buch, jedoch bin ich erst bis zu den IfBefehlen einschließlich vorgestoßen!

Zitat:

AppTitle "Rechnen und Persöhnliche Informationen"
Graphics 1024,768
Print "Persöhnliche Informationen"
Print " "
;Variable - Abfrage
WaitKey
Vorname$ = Input$("Bitte gib deinen Vornamen ein:")
Nachname$ = Input$("Bitte gib deinen Nachnamen ein:")
Strasse$ = Input$("Bitte gib deine Straße ein:")
Hausnummer$ = Input$("Bitte gib deine Hausnummer ein:")
.ort Ort$ = Input$("Bitte gib den Namen deines Ortes ein:")
Post$ = Input$("Bitte gib deine Postleitzahl ein:")

If Ort = Maintal Or Ort = maintal And Post <> 63477 Then
Goto ort
ElseIf Ort <> Maintal Or Ort <> maintal And Post = 63477 Then
Goto ort
Else
Goto tele
.tele Telefon$ = Input$("Bitte gib deine Telefonnummer ein:")
EndIf

Print " "
Print "-------------------------------------"
Print "- Bitte druecken sie eine Taste -"
Print "- damit ihre Eingaben -"
Print "- dargestellt werden koennen! -"
Print "-------------------------------------"
WaitKey
Print " "
Print Vorname + " " + Nachname
Print " "
Print Strasse + " " + Hausnummer
Print " "
Print Post + " " + Ort
Print " "
Print Telefon
Print " "
Print " "
Print "Vielen Dank fuer ihr Vertrauen!"
Print " "
Print "MFG"
Print " "
WaitKey

Und zwar ist mein Problem der hervorgehobene Bereich.
Ich will, dass wenn die Postleitzahl zu Maintal nicht stimmt und umgekehrt, dass der Benutzer wieder "zurückgeschickt" zu der Ortseingabeaufforderung wird. Fals jedoch was anderes eingegeben wird, also ein anderer Ort und eine andere Postleitzahl, dass diese akzeptiert wird und man zur nächsten Eingabeaufforderung gelangt. Das selbe soll auch passieren, wenn man erfolgreich war.

ich weis ist etwas kompliziert und auch nicht gerade in dem Zusammenhang nützlich, aber ich will es mal ausprobieren.
Und es heißt und steht ja:" Lerning by Doing!" Wink

Vielen Dank schonmal!

Gute Nacht

cya

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragDi, Aug 24, 2004 0:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Willkommen,
Ohne mir jetzt genau was anzusehen ist mir folgendes sofort aufgefallen
Zitat:
Code: [AUSKLAPPEN]
If Ort = Maintal Or Ort = maintal And Post <> 63477

Da fehlen die "" Zeichen
also so ....Code: [AUSKLAPPEN]

If Ort = "Maintal" Or Ort = "maintal" And Post <> "63477"

da sonst dieses Maintal als Variable benutzt wird und die hat den Wert= 0
[BB2D | BB3D | BB+]
 

tipfehler

BeitragDi, Aug 24, 2004 9:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

If (Ort$ = "Maintal" Or Ort$ = "maintal") And Post <> 63477 Then
    Goto ort
ElseIf (Ort$ <> "Maintal" Or Ort$ <> "maintal") And Post = 63477 Then
    Goto ort
Else
    Goto tele
    .tele Telefon$ = Input$("Bitte gib deine Telefonnummer ein:")
EndIf


So funktionierts.

DivineDominion

BeitragDi, Aug 24, 2004 13:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Außerdem, dann Post% = Int( Input$( ... ) ) nutzen Smile
christian.tietze@gmail.com - https://christiantietze.de
macOS
 

Alex

BeitragDi, Aug 24, 2004 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Also erstmal Danke für die Antworten! Smile

Jedoch funktioniert es immer noch nicht!

---
Jedoch zuvor hab ich noch 2 Fragen! Und zwar, heißt das jetzt, immer wenn man als variable einen Buchstaben oder ein Wort nimmt, muss man es in klammern schreiben und zuvor ein "$"- Zeichen schreiben.
Und bei Zahlen ist das nicht der Fall, oder?
---

Obwohl ich als Ort Maintal und als Post 63477 eingegeben habe, werde ich zurück zur Ortseingabe geschickt. Das soll so aber nicht sein.

Oder geht das so nicht wie ich es mir denke?

Danke schonmal! Smile


Cya

DivineDominion

BeitragDi, Aug 24, 2004 16:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Blitzhilfe nicht gelesen, hmm? Smile Na gut, finde es dort auch irgendwie nicht bei der komischen Navigation Wink also in BB ist eine Variable mit einem $ am Ende für Strings zuständig, also Buchstaben etc. % (oder kein Suffix) für Integer, Ganzzahlen, wie deine Postleitzahl, dann # für Float, Fließkommazahlen.

Alle BB-Befehle mit Klammern drum (Input$(), MouseX(), ...) liefern einen Wart zurück. Alle ohne Klammern führen nur eine Aktion aus. Die Klammern in der IF sind wie Klammern in einer Rehcnung:
If ( a = 1 or a = 2 ) and b = 1 setzt voraus, das "a" entweder 1 oder 2 ist UND "b" 1 ist. Lässt du die Klammern weg, funktioniert es auch nicht Smile

Int() wandelt das eigegebene in eine Ganzzahl um.
So...

Code: [AUSKLAPPEN]

.ort
Ort$ = Input$( "Bitte gib den Namen deines Ortes ein:" )
Post% = Int( Input$( "Bitte gib deine Postleitzahl ein:" ) )

If Upper$( Ort$ ) = "MAINTAL" and Post% = 63477 Then
  Telefon$ = Input$( "Bitte gib deine Telefonnummer ein:" )
Else
  Goto ort
Endif


Am eifnachsten ist es, wenn du die Bedingung so formulierst das es zutrifft (Ort = Maintal und Postleitzahl richtig) und dann ein ELSE dranhängst, was für alle anderen Möglichkeiten steht.

Upper$() gibt die variable dann in großbuchstaben um (speichert sie aber nicht so!). Dann ist es egal, ob man "MaIntaL" oder "MAinTAL" oder sowas schreibt. Das gleiche nur andersrum geht mit Lower$()

Hoffe es half irgendwie Smile
christian.tietze@gmail.com - https://christiantietze.de
macOS
 

Alex

BeitragDi, Aug 24, 2004 23:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Ui, muss ich gleich mal ausprobieren. Also wäre ich da wohl auch noch drauf gekommen. Aber ich bin wie schon gesagt erst bei den If-Sätzen. Und des ist Kapitel 3 auf der s. 41. von ca. insgesamt 420 Seiten Wink

Da wird das glaub (hoff) ich noch mal erwehnt bzw. erläutert/erklärt! Smile

Danke dir schonmal!

Warscheinlich werde ich noch öfter auf euch zurückkommen !

Bis denn!
mfg


Cya

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group