Grundlagen verstanden - was jetzt?
-
Hallo liebe C-Community.
Ich habe beschlossen mich etwas mit Programmieren zu beschäftigen etwas recherchiert. Nach gefühlten 100 "Python vs Java vs C++#99 vs Doom3-Engine"-Threads habe ich mich dazu entschlossen, einfach den Sprung ins Wasser zu wagen und mich für C entschieden.
Ist im Grunde auch egal, da die Programmiersprache nichts mit meiner Frage zu tun hat...Auf jeden Fall habe ich mich durch ein Tutorial gearbeitet (http://www.tutorials.at/) und fleißig experimentiert. Mittlerweile denke ich, dass ich die Grundlagen verstanden habe, nur weiß ich jetzt nicht weiter. Deshalb suche ich nach einer Programmidee oder einer Herausforderung, um über ein einfaches Taschenrechner-Programm hinauszukommen.
Ich hoffe, ich bin hier im richtigen Unterforum. Lasst eure Vorschläge hören.
MfG
-
Ein Programm das Ausdrücke wie "5 + 6 * 7 + 3 * (7 + 7)" korrekt auswertet.
-
Ich.möchte.lernen schrieb:
Deshalb suche ich nach einer Programmidee oder einer Herausforderung, um über ein einfaches Taschenrechner-Programm hinauszukommen.
Schreib einen Texteditor.
Für's erste ist das komplex genug und bereitet mehr Überraschungen als du anfangs vielleicht glaubst.
-
Hallo erstmal und danke für eure Vorschläge.
cooky451 schrieb:
Ein Programm das Ausdrücke wie "5 + 6 * 7 + 3 * (7 + 7)" korrekt auswertet.
Inwiefern "korrekt auswerten"? Ich vermute mal, dass damit Punkt vor Strich und andere Rechenregeln gemeint sind?
Ich.möchte.lernen schrieb:
Deshalb suche ich nach einer Programmidee oder einer Herausforderung, um über ein einfaches Taschenrechner-Programm hinauszukommen.
Schreib einen Texteditor.
Für's erste ist das komplex genug und bereitet mehr Überraschungen als du anfangs vielleicht glaubst.[/quote]
Für einen Texteditor müsste man sich mit GUI-Programmierung (z.b. Windows API) auseinandersetzen, richtig? Wie schwierig/komplex ist das? Liegen deine angekündigten Überraschungen (:)) im Texteditor selbst oder im Programmieren der GUI?MfG.
-
Ich.möchte.lernen schrieb:
Inwiefern "korrekt auswerten"? Ich vermute mal, dass damit Punkt vor Strich und andere Rechenregeln gemeint sind?
Nein, erstmal String von der Kommandozeile einlesen, Zeichen, Zahlen, Operationen erkennen und dann dann korrekt auswerten.
-
Und wenn das immer noch zu langweilig ist: Einen Gleichungslöser für einfache Gleichungen (wie 3x + 4 + 3(4 + 2x) = 4 + 2x + 1), der eventuell auch noch die Schritte der Umformung mit ausgibt
-
Wenn du es etwas spannender haben und deine Motivation steigern willst, kannst du ja mal ein paar Oberflächen mit GTK+ programmieren.
Sieht toll aus und damit kannst du auch einen Taschenrechner basteln:
-
Hallo, wieder.
knivil schrieb:
Nein, erstmal String von der Kommandozeile einlesen, Zeichen, Zahlen, Operationen erkennen und dann dann korrekt auswerten.
Ich habe mich mal an das Projekt gemacht und auch zwei Programme abgeschlossen, nur bin ich mir immer noch nicht sicher, ob ich die "Aufgabe" richtig verstanden habe. Hat richtig Spaß gemacht, auch wenn ich meine Herangehensweise nach Programm 1 überdenken musste und während Programm 2 kürzer und besser ist, habe ich immer noch Probleme mit "gemischten Ausdrücken", was sich leider nicht so leicht beheben lässt ohne wieder alles neu zu schreiben.
Programm 1 überprüft jedes einzelne Zeichen, erkennt sie und gibt dann aus, ob es sich um einen Buchstaben, eine Ziffer, einen Operator handelt oder gar nichts (Leerzeichen) handelt.
Programm 2 überprüft, wie viele Zeichen zusammenhängen und erkennt dann, ob es ein Wort, eine Zahl (auch aus mehreren Ziffern) oder ein Operator ist.Eingabe: "Hallo. 154 + 341 / (1+7a) 1x" Ausgabe: Wir finden das Wort "Hallo." Wir finden die Zahl 154 Wir finden den Operator "+" Wir finden die Zahl 341 Wir finden den Operator "/" Wir finden den Operator "(1+7a)" Wir finden die Zahl 1x
Die zwei letzten Ausdrücke, also "gemische Gebilde" bereiten noch Probleme.
Wie schwierig ist es, eine "game of life" Simulation oder einen Sudoku-Löser zu schreiben? Anfängerniveau oder bin ich noch Welten entfernt?
-
Glückwunsch, einen Scanner hast Du schon. Jetzt brauchst Du noch einen Parser, der die "Wörter" bzw. Terme auch zusammenrechnet.
-
GUI Programmierung ist langweilig. Programmier doch ein kleines Spiel!
-
ghhjjjjjjjjjj schrieb:
GUI Programmierung ist langweilig. Programmier doch ein kleines Spiel!
Naja, was will er da machen? Low-level Grafik Programmierung? DirectX ist (nähmlich) wohl noch ein bisschen zu schwer. Und DOS-Konsolen Spiele machen keinen Spaß.
-
Hacker schrieb:
ghhjjjjjjjjjj schrieb:
GUI Programmierung ist langweilig. Programmier doch ein kleines Spiel!
Naja, was will er da machen? Low-level Grafik Programmierung? DirectX ist (nähmlich) wohl noch ein bisschen zu schwer. Und DOS-Konsolen Spiele machen keinen Spaß.
Kein Schwein benutzt direkt DirectX, wenn es nicht wirklich nötig ist.
SDL, sfml, oder eine fertige Engine suchen, sich damit beschäftigen, spaß haben.
-
Du könntest mal in dieses Buch schauen:
-
LordJaxom schrieb:
Glückwunsch, einen Scanner hast Du schon. Jetzt brauchst Du noch einen Parser, der die "Wörter" bzw. Terme auch zusammenrechnet.
Ging recht flott für einen Anfänger. Bin gespannt ob er auch den Parser mit Punkt-Vor-Strich-Rechnung packt!
-
Ich.möchte.lernen schrieb:
Für einen Texteditor müsste man sich mit GUI-Programmierung (z.b. Windows API) auseinandersetzen, richtig?
Nö. Ein Texteditor ist reiner Text, man kann ihn auch in der Konsole realisieren.
Schau dir edit.exe, mc oder nano an, damit du eine Vorstellung davon bekommt.
Wie schwierig/komplex ist das? Liegen deine angekündigten Überraschungen (:)) im Texteditor selbst oder im Programmieren der GUI?
MfG.
Im Texteditor.
-
Schon mal was mit Rekursion gemacht? Oder Listen, Bäume...?
-
cooky451 schrieb:
LordJaxom schrieb:
Glückwunsch, einen Scanner hast Du schon. Jetzt brauchst Du noch einen Parser, der die "Wörter" bzw. Terme auch zusammenrechnet.
Ging recht flott für einen Anfänger.
Ja, sofern er nicht einfach nur Space als Token-Trenner genommen hat, was ich vermute.
-
cooky451 schrieb:
Ging recht flott für einen Anfänger. Bin gespannt ob er auch den Parser mit Punkt-Vor-Strich-Rechnung packt!
Meinen ersten funktionstüchtigen Mathe-Parser hab ich vor geschätzt einem halben Jahr geschrieben. Ich tippe darauf, dass er das nicht schafft.
-
314159265358979 schrieb:
cooky451 schrieb:
Ging recht flott für einen Anfänger. Bin gespannt ob er auch den Parser mit Punkt-Vor-Strich-Rechnung packt!
Meinen ersten funktionstüchtigen Mathe-Parser hab ich vor geschätzt einem halben Jahr geschrieben.
Spirit?
-
Nene, schon ohne.