Seite 1 von 1

IF

Verfasst: 07.07.2007 13:23
von Major
hi hab gestern mal angefangen ins programmieren reinzuschnuppern von daher erstmal einen guten tag an alle:)
So aber jetzt komme ich schon an einer stelle nicht weiter(für euch sicher ganz simple) :

Code: Alles auswählen

geld = Input$ ("wie viel kostet der spaß?")
If geld <3>3 Then Print "uff ganz schön teuer"
er fragt als erstes ob wie viel es kostet und wenn ich dann eine zahl unter 3 eingeben wird gefragt ob das ok ist.
wenn ich jetzt ja eingebe soll er mir "ok" , und wenn ich nein eingebe "schade" ausgeben.
hoffe ihr könnt mir helfen :) bzw. wie man es verschachteln muss

Gruß
Major

EDIT: hm hat jetzt nicht den ganzen code genommen :(

Verfasst: 07.07.2007 13:25
von Tafkadasom2k5
Hi und welcome :)
Es gibt keinen print-Befehl unter Purebasic. Hier musstdu den "MessageRequester" nutzen,

Code: Alles auswählen

geld.l = 5

if geld > 3
  MessageRequester "Uh, ganz schön teuer!"
else
  MessageRequester "Naja, der Preis scheint okay"
endif
Edit:
Den Input$-Befehl (sofern er ohne Konsole funktioniert), gibt einen String zurück. Von daher kannst du einen String nicht mit einer Zahl vergleichen, geschweige den einen String in eine Zahlenvariable packen.

Ich weiß zwar nicht, wie der Input Befehl genutzt wird, aber

Code: Alles auswählen

geld.l = Val(Input$)
Sollte dir weiterhelfen. "Val()" wandelt einen String in eine Zwahl um. Umgekehrt wandelt "Str()" eine Zahl in einen String um damit man eine Zwhal zB im Messagerequester ausgeben lassen kann.

Gr33tz
Tafkadasom2k5

Verfasst: 07.07.2007 14:33
von D@nte
>Es gibt keinen print-Befehl unter Purebasic
*hust*
Und was ist dan Print(Text$) und PrintN(Text$)

Und wenn du nem Anfänger Pseudocode postest dann sag ihm das doch bitte auch denn

Code: Alles auswählen

MessageRequester "Uh, ganz schön teuer!"
gibt's garantiert nicht

Code: Alles auswählen

Titel.s         = "Kosten"
Mitteilung.s    = "Wie viel kostet der spaß?"
StandardText.s  = ""
Input.s         = ""

; "Fensteranwendung"
Input = InputRequester(Titel, Mitteilung, StandardText)

If Val(Input) < 1
  MessageRequester("Ausgabe", "Werte unter 1 sind nicht zugelassen!")
ElseIf Val(Input) > 3
  MessageRequester("Ausgabe", "Uh, ganz schön teuer!")
Else
  MessageRequester("Ausgabe", "Naja, der Preis scheint okay")
EndIf

; "Konsolenanwendung"
If OpenConsole()
  Print(Mitteilung)
  PrintN("")
  Input = Input()
  If Val(Input) < 1
    Print("Werte unter 1 sind nicht zugelassen!")
  ElseIf Val(Input) > 3
    Print("Uh, ganz schön teuer!")
  Else
    Print("Naja, der Preis scheint okay")
  EndIf
  Input()
EndIf

End

Verfasst: 07.07.2007 15:46
von ZeHa
Ist jetzt nur 'ne Vermutung, aber ich könnte mir vorstellen, daß Major evtl. gar kein PureBasic hat, sondern einfach nur dachte, daß dieses Forum generell BASIC behandelt... also im Sinne von "PureBasic => ein Forum wo es nur (pur) um Basic geht"

Verfasst: 07.07.2007 15:47
von PureBasic4.0
Hi, Major

Hier ist genau dein Code (nur halt PureBasic kompatibel gemacht und mit Kommentaren versehen):

Code: Alles auswählen

OpenConsole()
Print("Wie viel kostet der Spaß?   ") ;Es wird ein String mit ein paar Leerzeichen in die Konsole geschrieben
GeldString$ = Input();Und der Benutzer kann jetzt etwas reinschreiben
Geld = Val(GeldString$) ;Wandelt den String GeldString$ in eine Long-Variable um. Das ist notwendig zum überprüfen der Größe von Geld
If Geld > 3 ;Ist klar, denke ich
  PrintN("Uff, ganz schön teuer"); PrintN schreibt einen String + Eine Leerzeile am Ende in die Konsole. Print schreibt nur den String
Else
  PrintN("Naja... Ganz ok"); Dasgleiche
EndIf
Input() ;Hilft, dass die Konsole offen bleibt, bis der user enter drückt
//edit:

@ZeHa: Ich denke, Major steigt von VB auf (P?)B um.

Verfasst: 07.07.2007 16:05
von Kaeru Gaman
dann soltet ihr aber auch den befehl OpenConsole() einbaun... ;)

Verfasst: 07.07.2007 16:07
von PureBasic4.0
ich dachte, das wäre klar :allright: