Problem mit Klasse: Komplexe Zahlen: Fehlermeldung!!!
-
Hier der Skript.
das sind zwei Dateien:http://www.file-upload.net/download-4417126/Kap-1---8-Programmierung.pdf.html
http://www.file-upload.net/download-4417131/Kap-9---20-Programmierung.pdf.html
morgen früh will ich die komplette Analyse (Fehleranalyse, Bewertung, Verbesserungsvorschläge) sehen!!!
:p
-
Autsch. Ein Script, welches mit dem Titel C/C++ anfängt. Noch dazu bei irgendwelchem total uninteressanten Hardwarezeugs.
Ich sollte keine Fehleranalyse machen, sondern eher eine "Korrektheitsanaylse", sprich, alles erwähnen, was richtig und passend ist.
Mein bisheriges Highlight (nach überspringen der lanweiligen Hardwarekapitel) ist, dass der Prof den unären *-Operator als "Umleitung" bezeichnet, und den ->-Operator als "Memberkennzeichnung".

Und er sagt, dass es in C keinen boolschen Typ gibt (soweit richtig), und man in C++ üblicherweise char verwendet. Göttlich!
-
heeey! Etwas Respekt vor dem Professorhttp://www.fh-dortmund.de/de/studi/fb/3/personen/lehr/ley/index.php. Der ist ein netter! seine zwischendurch-Späßen sind zwar veraltet aber er ist kein Schlaftablette-Prof!
-
Damit müsste man sich länger beschäftigen um alle Fehler zu finden.
Und die erste pdf hat überhaupt nichts mit C++ zu tun, alles C (Was nicht schlecht ist, aber sie sollte nie mit C++ vermischt werden).gruß
syntax
-
das heißt aber noch lange nicht, dass das erste Skript fehlerfrei ist...
Es gibt Schlüsselworte (z.B. main)
void main()
und das waren nur wenige Seiten, die ich überflogen habe...
-
Nachdem ich nun beide Scripten mal grob überflogen habe, bin ich stark schockiert.
- Der Autor ist sich nicht einig, ob er C oder C++ lehren will. Es kommt von beidem ein bisschen was vor, aber nichts ordentlich. Das berüchtigte "C mit Klassen". Beispielsweise hat man im ersten Teil das Gefühl, dass der Autor C beibringen möchte, jedoch nimmt er vereinzelt C++ Features durch, z.B. Referenzen. Im Zweiten Teil kommen dann endlich ein paar C++-Features, die mal so am Rande erwähnt werden, wie string, vector, oder complex.
- Der Autor wechselt immer wieder die Signatur von main. Manchmal steht das korrekte int main(), manchmal sieht man auch void main(), void main(void), oder int main(void).
- Die Datei- Ein und Ausgabe funktioniert laut Autor gleich wie in C: Mit FILE*. Obwohl er später Streams durchnimmt, kommen Filestreams nicht an die Reihe.
- Sämtliche Codebeispiele sind definitiv falsch durch Verwendung falscher Header, etwa iostream.h, oder nicht verwenden einer using-Direktive für den std-Namensraum.
- Der Autor schweift immer wieder in Themen ab, die für einen Programmier-Anfänger (und Fortgeschrittenen vermutlich immer noch) total irrelevant sind. Wie eine Flißkommazahl dargestellt wird, interessiert nicht die Bohne, genauso wenig wie die ersten PCs aufgebaut waren oder was ein Adress Bus ist.
- Der Autor zeigt immer wieder Tabellen, die den entsprechenden Code in Pascal sowie irgendeiner weiteren, mir unbekannten Sprache enthalten. Irrelevant und nur verwirrend.
- Der Autor behauptet, die Datentypen hätten eine feste Größe. Das ist Schwachsinn.
- Der Autor empfiehlt, Zeiger immer mit NULL zu initialisieren. Aus seinen Beispielen geht deutlicher hervor, dass er die Zeiger zu früh definiert hat.
- Viele Funktionsdeklarationen sind einfach nur falsch, insbesondere vergisst der Autor sehr viele consts.
- Zitat: "Polymorphie ist die Eigenschaft einer Botschaft, in verschiedenen Zusammenhängen verschieden zu wirken: Was die Botschaft bewirkt, hängt davon ab, an welches Objekt man sie richtet. Man nennt Polymorphie auch "Überladen" von Funktionen". Ich glaube, so viel Schwachinn habe ich noch nie in einem Satz gelesen.
- Zitat: "Eine Klasse kann aber auch als Erweiterung einer Funktion betrachtet werden. Dies ist z.B. der Fall, wenn die Klasse nur eine Elementfunktion enthält, die den gewünschten Wert liefert. Allerdings wird für jeden Funktionsaufruf ein Objekt der Klasse erzeugt." Fand ich auch witzig.Ich fange jetzt besser nicht mal damit an, was alles fehlt, geschweige denn mit dem neuen C++11-Standard.
Ein Teufelswerk, das einfach nur vernichtet gehört.
-
unskilled schrieb:
das heißt aber noch lange nicht, dass das erste Skript fehlerfrei ist...
Es gibt Schlüsselworte (z.B. main)
void main()
und das waren nur wenige Seiten, die ich überflogen habe...
und was ist am void main() falsch?

-
GnuMan2000 schrieb:
und was ist am void main() falsch?

Dass es int main() heißen muss? Meinen Post gelesen?
-
ok, jetzt habe ich es gelesen.
Ich hatte auch schon den Verdacht, dass da viel schwachsinnig ist. Wieso schreibst du den Prof nicht einfach an? Du als Erfahrener kannst ihn besser überzegen als ich. Ich würde gerne seine Meinung dazu hören, warum er da so viel überflüssiges und falsches uns lehrt!

-
Erstens ist das Script nicht mehr zu retten, zweitens ist dein Prof vermutlich, wie so ziemlich viele Profs lernresistent, drittens habe ich besseres zu tun.

-
GnuMan2000 schrieb:
Wieso schreibst du den Prof nicht einfach an?
Wieso sollte das jemand machen, der mit dem Prof nichts zu tun hat? Das ist dein Job, ihn darauf hinzuweisen, dass es da einen Haufen C++-Profis gibt, die seinen Code in der Luft zerreißen

-
Das kommt davon, dass dein Prof. einen uralten Wissenstand pflegt.
Mir selber wird in der Schule Programmieren beigebracht und es ist sehr amüsant den Lehrer ab und zu ins offene Messer laufen zu lassen.

Ne Spaß bei Seite, unser Lehrer hat genau so einen gruseligen Stil und lehrt uns Kauderwelsch in SCL, AWL, C++,... und ich diese Sachen doch schon einige Jahre mache, kann ich oft nur den Kopf schütteln.
Programmieren ist hald ne Sache, an der man am Ball bleiben muss, und die Lehrer dies oft nicht machen.gruß
syntax
-
GnuMan2000 schrieb:
Hier der Skript.
das sind zwei Dateien:
[...]Zur Info:
Vorsicht beim Verteilen von Professoren-Skripten, denn die unterliegen auch dem Urheberrecht. Ich sage das, weil es bei mir mal an der Uni den Fall gab, dass ein Prof Studenten mit Exmatrikulation gedroht hat, als sein Skript im (öffentlichen) Internet auftauchte. Der war da sehr empfindlich und sitzt letztendlich am längeren Hebel.