C++ in der Uni

  • Ich muß dieses Semester eine Informatikklausur schreiben und wollte mal eure Meinung zu dieser Musterlösung hören.



    ich finde das ganze für eine Musterlösung doch etwas unübersichtlich, besonders da die Vorlesung nicht für Informatiker sondern für Maschinenbauer ist.

  • :modon Ist ja selbst mit Code-Tags nicht übersichtlicher ?( :modoff


    Und jetzt mein Senf:


    MUSTERLÖSUNG??!?!?! OMFG!


    1. Non-static und static Members unübersichtlich vermischt
    2. Methodenprototypen inkonsequent mal mit Bezeichner in der Argumentliste, mal ohne
    3. operator> ist nicht const-correct
    4. operator= auch nicht
    4. Statt char* nimmt man eigentlich strings
    5. Die char* sind nicht const-correct (ich kann über name_aus den Namen manipulieren)
    6. Ja was denn nun, nennen wir setter-Methoden "ein" oder "setzen"?
    7. Wenn schon char*, dann wenigstens C-Stringfunktionen und nicht zu Fuß gehen (Methode name_ein)


    Jetzt habe ich Kopfschmerzen :D


    EDIT:
    Ich hoffe ich beleidige damit niemanden, aber als Muster würde ich das niemandem anbieten!

  • Ich habe die Musterlösung 1zu 1 so aus der TXT-Datei übernommen die uns vom Institut zur Verfügung gestellt wird. ;(
    Das wir hier char* und nicht string benutzen liegt wohl daran, dass wir lernen sollen wie man mit Arrays umgeht. ?(


    Kopfschmerzen habe ich schon seit längeren, besonders wenn ich an die Klausur denke :rolleyes:

  • Das halte ich noch für ein Gerücht. 8o Falls ich es dann doch ihnbekomme ist mein Code dann vermutlich so schlecht geschrieben das ich hier eins aufs Dach bekomme :D

  • Falls Dir das irgendwie hilft, so hätte es bei mir ausgesehen, das string kann man ja immernoch wieder durch const char* ersetzen.


    EDIT:
    Habs mal nach http://phpfi.com/135110 gepostet, die haben im Gegensatz zu uns Syntax-Highlighting ;)


    EDIT2:
    URL geändert, hab noch zwei Kleinigkeiten übersehen gehabt ;)

  • Danke, vielleicht solltest Du lieber mal einen Kurs in C++ geben ;) Ich werde mich dann mal weiter mit C++ auseinandersetzen und wenn ich was nicht verstehe weiß ich ja jetzt wen ich fragen kann :)


    Gruß,
    Vdr-t

  • Zitat

    Original von LordJaxom
    Und jetzt mein Senf:


    MUSTERLÖSUNG??!?!?! OMFG!


    Musterlösung != BestmöglicheÜbersichtlichsteLösung ;)


    Im Zweifelsfall ist es einfach von einem Studenten, der Tutorien gehalten hat vom Jahr zuvor.


    PS: Soo unübersichtlich finde ich das jetzt gerade nicht, das sind ja im emacs höchstens drei Seiten Code. Es geht ja vielleicht auch gerade drum, in der Lage zu sein, den Überblick zu gewinnen, egal, wie häßlich es aussieht.


    Ich hab mich für die Diplomarbeit durch ein "gewachsenes" Multithreaded-Framework zur Implementierung von Netzwerkprotokollinstanzen gewühlt, ich habe schon schlimmeren Code-Wust gesehen aus der Hand von Dipl.-informs. und Dr.-ings. ;D

    This is a .44 Magnum, the most powerful handgun in the world. It can take your head clean off. You've got to ask yourself one question, Do I feel lucky?
    easyvdr 0.9a2 - TT-DVB-S2-6400 - ASUS AT3IONT-I deluxe - Atom 330 - 1,5TB WD EADS - Denon 1910 - Toshiba 42X3030D - Harmony 700

  • Hi,
    ja ich habe schon unübersichtlicheren Code gesehen. Aber schön ist es nicht gerade. Und Regel Nr. 1: Niemals deutsche Bezeichner. Immer English!

    Grüße, Dieter :)

  • Hi,
    was ist mit while, if and friends?


    Die sind English, also immer eine Sprache. Somit auch Bezeichner und Kommentare in English.
    Ist auch ne ganz gute Übung wenn mann nicht so gut in English ist.


    Das habe ich schon immer so gehalten, auch als ich noch nicht so fit in English war.

    Grüße, Dieter :)

  • Jaxoms Kommentare sind eigentlich schon sehr ausführlich...

    Code
    if (menge > 0)

    dürfe die Prüfung:

    Code
    if (menge_ > 0)

    sein.
    Abgesehen von stilistischen Fragen, vielleicht

    Code
    if (menge > 0)
    	menge = menge_;
    else
    	menge = 0;

    doch lieber:

    Code
    menge = (menge > 0) ? menge_ : 0;

    oder - falls definiert:

    Code
    menge = MAX(menge_, 0)

    (( Kein VDR im Augenblick ))
    Desktop: OS X 10.4 - PowerBook G4
    Misc. HW: XBox 1.0 w/ XBMC & Sanyo Z3S & Onkyo TX-SR503E

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!