Wie kann ich einen Taschenrechner machen?
Übersicht

![]() |
Lord AdZBetreff: Wie kann ich einen Taschenrechner machen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ö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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ö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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
naja ok ich bin ja noch net so gebildet^^
aber ich glaube dir dases so besser ist ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab meinen post jetzt mit @s gekennzeichnet.....
Alle klarheiten beseitigt? ja? gut! |
||
![]() |
Lord AdZ |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ok, danke für eure Hilfe, bin weiter gekommen! ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group