Den eigenen Taschenrechner programmieren

N.t.H.

Lieutenant
Registriert
Mai 2012
Beiträge
802
Tach,

Als Ich heute ein bisschen Trigonometrie üben wollte und meinen Taschenrechner verlegt hatte, hab ich im Internet nach hochwertigen Rechenprogrammen gesucht und musste erschrocken feststellen, dass es kein einziges, wirklich gutes freies Rechenprogramm für Windows gibt.
Also mit Rechenliste und wissenschaftlichen Funktionen etc.
Und da Ich ja sowieso gerade mit Programmieren angefangen habe, dachte Ich mir es wäre doch vieleicht mal was, sich einen eigenen Desktop-Taschenrechner zu programmieren.
Aber wie programmiert man sowas am besten?
D.h. Sachen wie das Layout, grafische Ausgabe von Funktionen? Und in welcher Umgebung ist es am besten zu arbeiten?


Danke an jeden, der mir stundenlanges auseinandernehmen von Suchmaschienen erspart : )
 
Welche Sprache kannst du denn?

Gute Oberflächenbuilder sind die von Borland Delphi oder von Microsofts Visual C++/C#
 
Schau dir mal ggf. Wolfram Alpha an. Damit kannst du sehr komplexe Berechnungen ausführen und plotten lassen.

Grüße
 
N.t.H. schrieb:
...
Danke an jeden, der mir stundenlanges auseinandernehmen von Suchmaschienen erspart : )

Einer der ersten und wichtigsten Sätze die mir beim Programmieren lernen gesagt wurden, "Schreibe niemals ein Programm oder eine Funktion die es schon gibt, verwende was du kriegen und benutzen kannst. Die sonst verlorene Zeit kannst du anderswo sinnvoller einsetzen"

Ich denke du solltest Goggle nochmals bemühen, außer deine Ansprüche sind wirklich so speziell ... kann ich mir aber nicht vorstellen. Dann müßten deine Programmierkentnisse deine Google Fähigkeit bei weitem übersteigen.

EDIT
Ich glaub, eh ich nen Compiler anfasse wird eher ein Linux Programm in ner VM benutzt wenn Windows nichts passendes bietet. Geht immernoch schneller als selber schreiben.
 
schau dir mal diese liste an, ich kann mir nicht vorstellen, dass da nichts dabei ist.

und wie vander schon geschrieben hat, spätestens vm + linux liefert ne möglichkeit.
 
Tach,

Als erstes danke Ich euch für eure schnellen Antworten.
Ich versuch es mal abzuarbeiten:

Ich 'kann' keine Sprache. Ich lerne gerade C, und habe eine kurze Einführung in Java gekriegt.
Und da Ich keinen ordentlichen Taschenrechner im Inet gefunden habe, hab Ich mir gedacht 'Wär doch mal ne Übung'.
Natürlich habe Ich, dank euch, sofort einen gefunden (der von MS), aber der Reiz einen selber zu machen ist nach wie vor da.

Ich habe mir vor kurzem lcc runtergeladen (für C). Was haltet ihr davon?
 
Ist ein Compiler wie jeder andere. Sollte für den Anfang keinen Unterschied machen, wobei eine Entwicklungs-
umgebung drumherum doch empfehlenswert wäre.

€: LCC ist aber keine freie Software. Es gibt Leute, die das stört und in dem Fall könnte das gegenüber z.B.
GCC ein Nachteil sein.
 
Zuletzt bearbeitet:
Ähem, du fängst gerade mit programmieren an, keinerlei Vorkenntnisse, nichtmal VBA oder ne Batch geschrieben?
Wenn die Antwort ja lautet, dann würde ich empfehlen erstmal kleine Brötchen zu backen und was überschaubares anzufangen. Vor allem wirst du dich erstmal an die IDE gewöhnen müssen bzw. die zu dir passende finden.

Den lcc hab ich mir grad mal angesehen, nicht so mein Ding. Zwar schön klein, aber durch die Pfadangaben in der Registry nicht wirklich portabel. Das Codecoloring scheint auch noch nicht so ausgereift, mag sein das es daran liegt das ich die IDE nicht kenne.

Der letzte freie C Compiler mit dem ich zu tun hatte war DevC++, wird zwar schon ne Weile nicht mehr weiterentwickelt, aber damit kann man auch C proggen.
Wenn dich proprietäre Soft, im entsprechenden Installationsumfang, nicht abschreckt, versuch mal das freie VisualStudio Express(glaub ich?) von Microsoft. Allein wegen der Verknüpfung mit dem MSDN ist es das auf jeden Fall wert.
Wenns nicht unbedingt C oder Java sein muß, ich würde mal nen Blick auf .net empfehlen, dann gibts gleich nochmal tausend mehr Möglichkeiten.

P.S. Allein um 3-4 verschiedene IDEs zu erforschen wirst du mehr Zeit brauchen als für die Programmierung eines Taschenrechners erforderlich ist. IMO ist für ein "reinschnuppern" ins programmieren VBA ausreichend, solange man keine speziellen Ansprüche hat.
 
Ich hatte selber eher nur Erfahrung in Systemintegration etc. und schulischbedingt programmiere ich nun auch in C++ - C geht da natürlich auch.

Gibt es denn ne Möglichkeit, an Visual Studio zu kommen? Ich bekomm es kostenlos von der Schule. Hab mir auch ein Buch gekauft (mit geringen Vorkenntnissen von C++, nur cin/cout, if/else etc) und schon einen erweiterten Taschenrechner (ist aber noch ziemlich anspruchslos) - Konsolenanwendung natürlich.
 
Es wird ja immer wieder gesagt, einen Taschenrechner zu bauen sei eine gute Fingerübung für Anfänger.
Ich habe ich mich jetzt mal hingesetzt und einen gebaut. Er ist jetzt weitgehend fertig und kann die vier
Grundrechenarten, sowie ein paar Binäroperationen. (Neue Operatoren sind aber relativ einfach hinzuzu-
fügen).

Das Ding hat knapp 1000 Zeilen und außer, dass er mit Variablen rechnen kann, macht er nichts wirklich
besonderes. Was mache ich falsch? Ich bin ja C-Mann und habe etwas Angst, dass die gewählte Sprache
mir einfach Steine in den Weg gelegt hat (In Scheme weiß ich, dass es viel einfacher geht.)

Im Spoiler eine Beispielausgabe:
Code:
A = 1   ST:1
A = A + 1 -> 2  ST:1
A(42) = 0       ST:1
A(A + 40) = A * 1234 -> 2468    ST:1

1 + 2 * 3 - 4 = 3       ST:1
1 * 2 + 3 - A + 4 = 7   ST:1
2 * 3 ^ 1 + 7 = 11      ST:1
-1 = -1 ST:1

A(1) = 1        ST:1
A(A) = A(1) * A -> 2    ST:1
A(A(1)+A(2))) = 2*A+B -> 2468   ST:1
A(A(1)-A(2)) = 0        ST:-3
A(A(A+40)-2426) / 2 = 1234      ST:1
(Die Zahl hinter ST: gibt an, ob der Rechner einen Fehler schmeißt. 1 bedeutet alles lief korrekt, -3 bedeutet, dass versucht wird, auf ein ungültiges Arrayelement zuzugreifen
 
Zuletzt bearbeitet:
@proudy

Visual studio gibt es auf der Microsoft Website :)



Und Ich habe auch vor kleine Brötchen zu backen.
Aber ein einfaches UI mit einfachen Funkionen und mit Protokollfähigkeit für Gleichungen krieg ich selbst auf dem GTR hin.
Daher finde Ich das ganz oke.
Ich versuch mich erstmal an LCC zu gewöhnen, und dann guck ich weiter.
Danke für den Aufwand :)
 
Zurück
Oben