RanzRechner (Taschenrechner für Arme) von ??? |
Hier der Taschenrechner, lässt garantiert QBasic Feeling aufkommen: [code:1:77c2e137d2] graphics 640, 480 .start cls Text 60,10, "RanzRechner Version 2.32.21434.5" Text 60,20, "********************************" Text 30,50, "Addition (1)" Text 30,60, "Subtraktion (2)" Text 30,70, "Multiplikation (3)" Text 30,80, "Division (4)" Text 30,100, "******************" locate 30, 120 Eingabe$ = Input("Bitte Zahl eingeben: ") if Eingabe$ = 1 then Addition() if Eingabe$ = 2 then Subtraktion() if Eingabe$ = 3 then Multiplikation() If Eingabe$ = 4 then Division() if Eingabe$ > 5 then goto start waitkey Function Addition() cls Text 60,10, "Addition" Text 60,20, "********" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 + zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis end function function Subtraktion() cls Text 60,10, "Subtraktion" Text 60,20, "***********" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 - zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis end function function Multiplikation() cls Text 60,10, "Multiplikation" Text 60,20, "**************" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 * zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis end function function Division() cls Text 60,10, "Division" Text 60,20, "********" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 / zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis end function [/code:1:77c2e137d2] Für Alle Noobs in diesem Forum (so wie ich), erweitert den Taschenrechner doch mal um weitere Funktionen, z.B.: Wurzel ziehen Potenzrechnung........u.s.w P.S: posted dann den erweiterten rechner hier |
von ??? |
Cool :D Mit dem QBasic-Feeling hast du recht. Ich hab eine Ewigkeit verbracht solch ein Zeug zu programmieren und immer weiter auszubauen. Wenn du noch Goto und Gosub verwendet hättest wäre es perfekt :wink: |
von ??? |
äh 14/3 = 4 ^^ wenn du da noch floats verwendest wäre es noch besser |
von ??? |
füg mal das hinter graphics ein [code:1:a726fe7bc5]Global zahl1#,zahl2#,ergebnis#[/code:1:a726fe7bc5] |
von ??? |
ok neuste version..... [code:1:7777d7a281] graphics 640, 480 global zahl1#, zahl2#, ergebnis# .start cls Text 60, 10, "RanzRechner Version 2.32.21434.5" Text 60, 20, "********************************" Text 30, 50, "Addition (1)" Text 30, 60, "Subtraktion (2)" Text 30, 70, "Multiplikation (3)" Text 30, 80, "Division (4)" Text 30, 90, "Wurzel ziehen (5) Text 30,100, "Prog. beenden (6)" Text 30,120, "******************" locate 30,140 Eingabe$ = Input("Bitte Zahl eingeben: ") if Eingabe$ = 1 then Addition() if Eingabe$ = 2 then Subtraktion() if Eingabe$ = 3 then Multiplikation() If Eingabe$ = 4 then Division() if Eingabe$ = 5 then Wurzel_ziehen() if Eingabe$ = 6 then end if Eingabe$ > 6 then goto start waitkey Function Addition() cls Text 60,10, "Addition" Text 60,20, "********" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 + zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis waitkey end function function Subtraktion() cls Text 60,10, "Subtraktion" Text 60,20, "***********" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 - zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis waitkey end function function Multiplikation() cls Text 60,10, "Multiplikation" Text 60,20, "**************" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 * zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis waitkey end function function Division() cls Text 60,10, "Division" Text 60,20, "********" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 / zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis waitkey end function function Wurzel_ziehen() end function [/code:1:7777d7a281] hhhmmm...wie kann ich den nach einer funcktion wieder an den anfang ??? mit goto geht das irgendie nicht |
von ??? |
[quote:0eef70cfd1="Jester"]if Eingabe$ = 1 then Addition() if Eingabe$ = 2 then Subtraktion() if Eingabe$ = 3 then Multiplikation() If Eingabe$ = 4 then Division() if Eingabe$ = 5 then Wurzel_ziehen() if Eingabe$ = 6 then end if Eingabe$ > 6 then goto start[/quote:0eef70cfd1] Den Part würde ich durch folgendes oder ähnliches ersetzen. [code:1:0eef70cfd1] While Eingabe$ <> "MOEP" Select Eingabe$ case "1": do something; case "1": do something; End Select Wend [/code:1:0eef70cfd1] |
von ??? |
qbasic nostalgie hin oder her, verwende am besten nie goto oder gosub. Alternativ-Vorschlag: [code:1:83117f628d] Repeat Cls Text 60, 10, "RanzRechner Version 2.32.21434.5" Text 60, 20, "********************************" Text 30, 50, "Addition (1)" Text 30, 60, "Subtraktion (2)" Text 30, 70, "Multiplikation (3)" Text 30, 80, "Division (4)" Text 30, 90, "Wurzel ziehen (5) Text 30,100, "Prog. beenden (6)" Text 30,120, "******************" locate 30,140 Eingabe$ = Input("Bitte Zahl eingeben: ") if Eingabe$ = 1 then Addition() if Eingabe$ = 2 then Subtraktion() if Eingabe$ = 3 then Multiplikation() If Eingabe$ = 4 then Division() if Eingabe$ = 5 then Wurzel_ziehen() Until Eingabe$=6 End [/code:1:83117f628d] ich habe dein Prog nicht getest (schon allein weil Input() drin steckt und das bei B+ übelst blöd ist), aber ich würde sagen hinter jedem Waitkey muss noch "()" [code:1:83117f628d] Waitkey() [/code:1:83117f628d] MfG |
von ??? |
hi, hinter waitkey müssen keine parameterklammern. cu |
von ??? |
Durch was kann ich den das input erstezten ??? |
von |
durch ne inputroutine.Gibts viele hier im Code Archiv :wink: |
von ??? |
Hier noch ma verbessert: graphics 640, 480 global zahl1#, zahl2#, ergebnis# repeat cls Text 60, 10, "RanzRechner Version 2.32.21434.5" Text 60, 20, "********************************" Text 30, 50, "Addition (1)" Text 30, 60, "Subtraktion (2)" Text 30, 70, "Multiplikation (3)" Text 30, 80, "Division (4)" Text 30, 90, "Prog. beenden (5)" Text 30,110, "******************" locate 30,130 Eingabe$ = Input("Bitte Zahl eingeben: ") if Eingabe$ = 1 then Addition() if Eingabe$ = 2 then Subtraktion() if Eingabe$ = 3 then Multiplikation() If Eingabe$ = 4 then Division() if Eingabe$ = 5 then end until Eingabe$ = 5 end Function Addition() cls Text 60,10, "Addition" Text 60,20, "********" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 + zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis waitkey end function function Subtraktion() cls Text 60,10, "Subtraktion" Text 60,20, "***********" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 - zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis waitkey end function function Multiplikation() cls Text 60,10, "Multiplikation" Text 60,20, "**************" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 * zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis waitkey end function function Division() cls Text 60,10, "Division" Text 60,20, "********" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 / zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis waitkey end function |
von ??? |
@ O_o sorry ich raff grad net was du meinst :oops: |
von ??? |
des is ne funktion die man verwendet,um input zu ersetzen,mom ich poste dir gleich mal nen link :wink: Edit:So,hier der link [url]http://www.blitzforum.de/viewtopic.php?t=59&highlight=input[/url] |
von ??? |
[quote:03f2fd1bf5="Jester"]if Eingabe$ = 5 then end until Eingabe$ = 5 end [/quote:03f2fd1bf5] Warum die gleiche Überprüfung gleich zwei mal? Mach die If Bedingung am besten raus. Oder: [code:1:03f2fd1bf5]if Eingabe$ = 5 then exit Forever end [/code:1:03f2fd1bf5] |
von ??? |
Also ich hab net so ganz verstanden warum ich kein input benutzen soll diese input routine ist ne halbe seite lang, und das input ist ein wort....was hat es denn für nachteile ??? [code:1:07ff3742ba] graphics 640, 480 global zahl1#, zahl2#, ergebnis# repeat cls Text 60, 10, "RanzRechner Version 2.32.21434.5" Text 60, 20, "********************************" Text 30, 50, "Addition (1)" Text 30, 60, "Subtraktion (2)" Text 30, 70, "Multiplikation (3)" Text 30, 80, "Division (4)" Text 30, 90, "Prog. beenden (5)" Text 30,110, "******************" locate 30,130 Eingabe$ = Input("Bitte Zahl eingeben: ") if Eingabe$ = 1 then Addition() if Eingabe$ = 2 then Subtraktion() if Eingabe$ = 3 then Multiplikation() If Eingabe$ = 4 then Division() until Eingabe$ = 5 end Function Addition() cls Text 60,10, "Addition" Text 60,20, "********" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 + zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis waitkey end function function Subtraktion() cls Text 60,10, "Subtraktion" Text 60,20, "***********" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 - zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis waitkey end function function Multiplikation() cls Text 60,10, "Multiplikation" Text 60,20, "**************" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 * zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis waitkey end function function Division() cls Text 60,10, "Division" Text 60,20, "********" locate 30,50 zahl1 = Input("Bitte 1. Zahl eingeben: ") locate 30,60 zahl2 = Input("Bitte 2. Zahl eingeben: ") ergebnis = zahl1 / zahl2 Text 30,100, "*******************************" Text 30,120, "Das Ergebnis ist: " + ergebnis waitkey end function [/code:1:07ff3742ba] |
von ??? |
man benutzt inputroutinen im spielen um sachen einzugeben,ohne dass das spiel angehalten wird.Beim normalen input wird solange angehalten,bis die eingabe volllllzogen is :wink: |
von ??? |
ahhh............ so aber warum soll ich das hier auch benutzen, ist doch überhaupt nicht nötig macht doch alles nur komplizierter oder ??? |
von ??? |
das Programm, so wie es oben steht ist völlig BlitzPlus inkompatibel. Den Befehl "Locate" gibts in B+ net und Input erzeugt eine Routine wie bei Dos (niedrige Auflösung), was auch bewirkt, das das ganze Graphic-Zeug (also alles mit >Text<) nicht mehr zu lesen ist. Du musst es nicht ändern, aber is halt besser, das es jeder nutzen kann. Bzw. wenn es eine EXE, kanns jeder nutzen. MfG |
von ??? |
Hi ! Damit richtiges Qbasic-Flair entsteht, hier auch ein Rechner von mir. Habe noch den Source. War für einen kurzfristigen Wettbewerb. Hatte da gewonnen. Ist aber nicht ganz fertig geworden, da die Zeit dafür fehlte. http://members.chello.at/hot-bit/diverses/rechne.exe Toni |
von ??? |
Is ja geil !!!! |
von ??? |
Ich find den Taschenrechner cool. Doch er rechnet bei mir irgendwie bei der division nicht richtig! |