Programmieraufgabe
-
Weil es absolut beschränkt ist in ANSI-C objektorientiert programmieren zu wollen, auch wenn man das durchaus bewerkstelligen kann, wie einem z. B. dieses Skript verrät.
-
LOMO schrieb:
Weil es absolut beschränkt ist in ANSI-C objektorientiert programmieren zu wollen...
ich glaub' viele grössere C-programme haben irgendwelche objektorientierten ansätze drin. man muss ja nicht gleich alle features von objective-C o.ä. nachbauen.
-
Ach Leute hört doch mal auf...Ihr benehmt euch wie... Lassen wirs mal.
Der Code, den ich gepostet habe mag für einige vielleicht schlecht sein. Aber ich hab es nicht unbewusst so gemacht.In dem "Stil" in dem ich es geschrieben habe sieht es für mich viel übersichtlicher aus, denn man sieht genau, wo das was macht (Aufgabe 1, Aufgabe 2, ...). Der Threadstarter hat den Ablauf genau geschildert...So hab ich es eben auch programmiert...
Wenn jetzt jemand das gleiche Programm in viele Funktionen schreibt, dann wird es ganz sicher nicht übersichtlicher (vielleicht bisschen kürzer, aber nicht übersichtlicher) (und darunter verstehe ich auch das "Objektorientiert"(müssen ja nicht unbedingt gleich Klassen und so sein^^))
Viele Grüße,
Bullja
-
LOMO schrieb:
Weil es absolut beschränkt ist in ANSI-C objektorientiert programmieren zu wollen, auch wenn man das durchaus bewerkstelligen kann, wie einem z. B. dieses Skript verrät.
Es ist einfach falsch, behaupten zu wollen, das man in C objektorientiert Programmieren kann. Nicht alles was man per google findet ist auch richtig.
-
clett schrieb:
Es ist einfach falsch, behaupten zu wollen, das man in C objektorientiert Programmieren kann.
na, dann sag doch einfach mal, warum es unmöglich ist.
-
@bullja mir ist gerade ien ganz miser fehler bei dir aufgefallen. wenn der benutzer deines programmes etwas falsches eigibt, greift das programm auf falsch daten zu, du solltest an deinem quelltext die eingabe kontrolle verbessern
-
clett schrieb:
Es ist einfach falsch, behaupten zu wollen, das man in C objektorientiert Programmieren kann. Nicht alles was man per google findet ist auch richtig.
dass die Programmiersprache keinen synataktischen Zucker enthält, um OO zu programmieren, heißt nicht, dass man diesen Ansatz nicht reproduzieren und sogar nachbauen kann. GTK+ ist ein gutes Beispiel dafür, objektorientiert und 100% in C geschrieben.
-
tweenki schrieb:
@bullja mir ist gerade ien ganz miser fehler bei dir aufgefallen. wenn der benutzer deines programmes etwas falsches eigibt, greift das programm auf falsch daten zu, du solltest an deinem quelltext die eingabe kontrolle verbessern
Kann gut sein
Werde aber nichts mehr daran machen. Stell dir vor: Ein Fahrkartenautomat hat ja meistens nen Touchscreen(Bei der DB zumindest). Und der User kann nichts anderes auswählen, wie die Buttons auf dem Screen. Von dem her würde der Automat nicht auf falsche Daten zugreifen(Außer er zeigt falsche Buttons an).Das ganze ist eine Simulation. Ich fordere von dem User, dass er nur das eingibt, was auf dem Bildschrim steht
-
man sollte aber immer darauf gefasst sein, dass der benutzer eine falsch eingabe macht.
wer sagt eigentlich das sei eine simulation?
-
ich hab jetzt soweit alles fertig glaube ich jedenfalls
ich kann es nicht richtig ausführen, da ich eine endlos schleife eingebaut habe. ich hab sie auch schon markiert finde aber nicht den auslöser?
habs mal hochgeladen: http://tweenki.tw.funpic.de/Ordner/Programme/
falls ihr einen logik fehler findet könnt ihr ihn mir gerne sagen
-
tweenki schrieb:
man sollte aber immer darauf gefasst sein, dass der benutzer eine falsch eingabe macht.
wer sagt eigentlich das sei eine simulation?Star69 schrieb:
Schreiben Sie ein Programm ”automat.c”, das einen Fahrkarteautomaten in folgenden Schritten
simuliert:
-
Bei mir läuft es auch nocht nicht!
-
kannst du es nicht kompilieren?
-
nee irgentwie nicht!hab keine ahnung woran das liegen könnte!Ist es denn schon fertig?Kommentiert ist es auch noch nicht.bei mir heißt die datei test.cpp sollte die nicht nur test.c heißen?und der zeigt bei ir auch noch ein erorr an.
Microsoft Windows [Version 6.0.6000]
Copyright (c) 2006 Microsoft Corporation. Alle Rechte vorbehalten.c:\MinGW\programme>gcc test.cpp
test.cpp: In functionint getcmd()': test.cpp:43: error:
getline' was not declared in this scope
-
ich hab wohl das falsche hoch geladen, das war nur für linux und mit getline. hab jetzt das nächste hochgeladen. mit -1 beendet man das programm nun jederzeit.
aber den bug mit der endlosschleife hab ich immer noch nicht.
die mehrwertsteuer ahb ich rausgenommen damit man es besser testen kann mit dem bezahlen damit er also nicht an letzter stelle noch ne zahl hat.
-
achso könnte dann nicht ein anderer helfen!ich weiß das ja auch nicht wie das laufen muß
-
ja jetzt kann ich es öffnen aber richtig funktioniert es noch nicht!
-
was kanst du öffnen?
den quellcode oder das programm. das programm sollte man unter windows nicht öffnen können, da es unter linux kompiliert wurde.
der quellcode lässt sich bei mir prima kompilieren, welchen compiler benutzt du?
dev-c++ hat ein problem mit c hab ich gemerkt, darum musste ich auch unter linux schreiben, aber eigentlcih ist alles stand-art(er zensiert sonst) konform. also müsste es kompilierbar sein.
-
in wie weit funktioniert es denn nicht?
lässt es sich nicht kompilieren? oder ist ein laufzeit fehler?
-
ich mach das mit MinGW! dann erstellt der mir ja ne datei und die kann ich öffnen.am anfang geht es auch noch aber weiter auch nicht