Wie kann ich einen Taschenrechner machen?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Lord AdZ

Betreff: Wie kann ich einen Taschenrechner machen?

BeitragFr, Jun 15, 2007 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich versuche gerade, einen einfachen Taschenrechner mit Blitzbasic zu coden.
Wenn ich also z.B. 1+2 eingebe, soll das Ergebnis erscheinen, also
1+2
=3

Dazu meine Fragen:
(Ich hab auch schon gegooglt, aber nichts gefunden Confused )

Wenn ich 1 drücke, soll auf dem Bildschirm 1 erscheinen. Das geht mit dem Befehl "Text"
Wenn ich 2 drücke soll, auf dem Bildschirm 2 erscheinen, dann 3,4, usw bis 0
Mit +-X:^ usw dasselbe

Aber wie kann ich Blitzbasic wissen lassen, WO die Zahl auf dem Bildschirm erscheinen soll?
Beispiel:
1. ich gebe 1 ein
2. ich gebe + ein Blitzbasic soll + aber nicht über die 1 schreiben, sondern nebendran! Wie geht das?

Und welchen Befehl soll ich nehmen, damit Blitz die Ergebnisse ausrechnet?

Gibts dazu vielleicht irgendwo im Internet eine Seite mit erklärtem Beispielcode? Das würde mir sehr weiterhelfen.

Noobody

BeitragFr, Jun 15, 2007 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Also damit sie nicht übereinanderlappen, kannst du bei Text x,100,text nehmen und die X Variable bei jeder eingabe erhöhen.
Oder, was weitaus eleganter ist, einfach die neu Zahl/Zeichen zu der Variable text dazufügen.
Und die Rechnungsbefehle...
Schon mal +,-,*,/ benutzt? Das soll answcheinend funktionieren...
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

ChristianK

BeitragFr, Jun 15, 2007 16:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
2. ich gebe + ein Blitzbasic soll + aber nicht über die 1 schreiben, sondern nebendran! Wie geht das?

Einfach als String speichern!

Code: [AUSKLAPPEN]

eingabe$ = Input( )
zeile$ = zeile + eingabe
Text 10, 10, zeile

Viele Taschenrechner rechnen immer nur Zwischenschritte aus, zum Beispiel wenn du 1+2+3 rechnen willst, wird, nachdem du 1+2 eingegeben hast das Ergebnis ausgerechnet ( was du dann in einer Variable speicherst ) und als Ausgangswert für +3 genommen.

Smily

BeitragFr, Jun 15, 2007 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich schätze mal, um einen guten Mathe-String-Parser zu schreiben brauch man schon höhere Programmierkentnisse.
Soweit ich mich aber erinnere gabs da mal was im Codearchiv, was auch relativ zuverlässig war.

Gruß, Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

AMD

BeitragFr, Jun 15, 2007 22:39
Antworten mit Zitat
Benutzer-Profile anzeigen
hier hab ich mal einen simplen gemacht aber ich denk mir mal das ich den net sehr klug gemacht hab ich kenn mich ja auch noch net so aus Rolling Eyes

Code: [AUSKLAPPEN]

Print "1.Zahl"
Zahl1=Input()
Print "2.Zahl"
Zahl2=Input()
Print "Jetzt drücke einfach Enter"
zeichen = Input()
If KeyDown(28) Then
Ergebnis=Zahl1 + Zahl2
Print "Wenn du + rechnest lautet Das Ergebnis:"+Ergebnis
End If
If Zeichen = KeyDown(15)=1 Then
Ergebnis1=Zahl1 - Zahl2
Print "Wenn du - rechnest lautet Das Ergebnis:"+Ergebnis1
End If
If Zeichen = KeyDown(55)=1 Then
Ergebnis2=Zahl1 * Zahl2
Print "Wenn du * rechnest lautet Das Ergebnis:"+Ergebnis2
End If
If zeichen = KeyDown(181) Then
Ergebnis3 = Zahl1 / Zahl2
Print "Wenn du / rechnest lautet Das Ergebnis:"+Ergebnis3
End If

While Not KeyHit(1)
Flip
Wend


hm es ist zwar net ganz des was du wolltest aber vll kannst du ja damit schon etwas anfangen
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

Smily

BeitragFr, Jun 15, 2007 22:41
Antworten mit Zitat
Benutzer-Profile anzeigen
öhm hast du den Code getestet, den du da postest o.O

If Zeichen = KeyDown(55)=1 Then

ich glaub nicht, dass das funktionieren kann.
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

AMD

BeitragFr, Jun 15, 2007 22:44
Antworten mit Zitat
Benutzer-Profile anzeigen
öhm ja bei mir funzt er ich hab ihn auch schon als exe gepeichert und nen Kumpel gschickt aber warum kannst du mir vll sagen wie ich das besser machen könnte?
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

Smily

BeitragFr, Jun 15, 2007 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Was genau willst du mit den IF-Abfragen eigentlich bezwecken?
Input gibt einen String zurück. Keydown(x) kann nur 0 oder 1 zurück geben.

und

if ....=1

kann man sich sowiso sparen ^^.
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

AMD

BeitragFr, Jun 15, 2007 22:50
Antworten mit Zitat
Benutzer-Profile anzeigen
hm lol also zu dem (x)=1 das ma sich des sparen kann hab ich auch schon gemerkt weil ich ja bei der letzten If funktion ohne probiert hab^^ und dann hab ich halt vergessen des bei den anderen If anwendungen wieder weg zu machen und am anfang wollte ich ja eigendlich wenn man das zeichen (+) drückt dases dann sofort + rechnet aber des ging dann i-wie net deswegen hab ich des i-wie so ausprobiert^^
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

Silver_Knee

BeitragFr, Jun 15, 2007 23:21
Antworten mit Zitat
Benutzer-Profile anzeigen
@AMD
die ersten 2 inputs sind ja ok aber für EIN zeichen nutzt man waitkey dun da sähe das so aus:

Code: [AUSKLAPPEN]
zeichen$=Chr( Waitkey() )
if Zeichen="+"
usw....

das käme der sache schon näher....
@Lord AdZ
Was du machen möchtest kommt vllt Calc.exe näher (ausführen->calc)....
dazu müsste man sich sein eigenes input schreiben... so ansatzweise etwa:
Code: [AUSKLAPPEN]
repeat
 key=Waitkey()
 if key=>48 and key=<57 ; key=48 ist 0; key=49 ist 1;usw...
  txt=txt+chr(key)
 endif
 text 0,0,txt
 cls
 vwait
forever

so dann kann man noch nach den tasten + (key=43), - (key=45), *(key=42)und /(key=47) fragen und auf enter(key=13) dann entsprechende rechnung ausführen...

den key nenn man übrigens ASCII und da findet man tabellen im web und auf blitzbase.de
  • Zuletzt bearbeitet von Silver_Knee am Fr, Jun 15, 2007 23:30, insgesamt einmal bearbeitet
 

AMD

BeitragFr, Jun 15, 2007 23:27
Antworten mit Zitat
Benutzer-Profile anzeigen
naja ok ich bin ja noch net so gebildet^^
aber ich glaube dir dases so besser ist Smile
und falls du mich gemeint hast das der key auch Asciicode genannt wird des hab ich schon gewusst ich hab ja auch die Tabelle von Blitzbasic
Das Leben ist ein scheiß Spiel hat aber eine saugute Grafik!
PC:
AMD 5200 X2(2x2,6Ghz), 250GB Festplatte, 2048MB Arbeitsspeicher, Nvidia 9800 GTX mit 512MB.....
Bildschrim mit 22 Zoll und 5msk Übertragungszeit......
Mein BaumMap Tutorial:
http://www.blitzforum.de/forum...hp?t=26341

Silver_Knee

BeitragFr, Jun 15, 2007 23:31
Antworten mit Zitat
Benutzer-Profile anzeigen
hab meinen post jetzt mit @s gekennzeichnet.....

Alle klarheiten beseitigt? ja? gut!

Lord AdZ

BeitragSa, Jun 16, 2007 10:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok, danke für eure Hilfe, bin weiter gekommen! Smile

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group