Studentenverwaltung



  • Meiner Erfahrung nach erlaubt ein Prof der kein <string> und kein <vector> mag auch kein <stdexcept> oder <algorithm>.
    Außerdem sollte alles vermieden werden was neuer ist als C++03...



  • @LeMace sagte in Studentenverwaltung:

    Außerdem sollte alles vermieden werden was neuer ist als C++03...

    Das haben wir auch gelernt. Angeblich dauert es noch bestimmt einige Jahre, bis sich C++11 durchsetzt. Allerdings wurde mir hier dann gesagt, dass das nicht stimmen würde und dass ich den neuen Standard beherrschen sollte.



  • In der Klasse Student hast Du UB eingebaut. Du vermischst nach Belieben new[], malloc, delete[] und free. Entweder new[] und delete[] oder malloc und free.



  • @Wade1234 Firmen sind natürlich immer Programmierer am liebsten die die neuen Standards kennen, aber auch wissen wie sie mit C++03 zurecht kommen.
    Weil viele Firmen halt ein paar Projekte haben wo sie auf C++03 eingeschränkt sind, aber andere wo sie C++11, 14 oder 17 verwenden.



  • @john-0 sagte in Studentenverwaltung:

    In der Klasse Student hast Du UB eingebaut. Du vermischst nach Belieben new[], malloc, delete[] und free. Entweder new[] und delete[] oder malloc und free.

    Uups. War natürlich keine Absicht. Ich habe beim Schreiben mit malloc() und free() angefangen und dann auf new[] und delete[] umgestellt und da vergessen an den beiden stellen das free() zu ändern.

    @muemmel sagte in Studentenverwaltung:

    Am besten erst mal mit dem Prof abklären was er haben will, nicht dass er nachher schon daran scheitert den Quellcode lesen zu können.

    Nene, das geht schon aus dem Rest des Dokuments hervor daß C++ gewünscht ist.


  • Gesperrt

    @Wade1234 sagte in Studentenverwaltung:

    Das haben wir auch gelernt. Angeblich dauert es noch bestimmt einige Jahre, bis sich C++11 durchsetzt.

    C++11 kann vielleicht schon nächstes Jahr obsolet sein. Sich an eine Sprache wie C++ zu klammern, ist eben ein besonderes Abenteuer.



  • @RBS2 sagte in Studentenverwaltung:

    C++11 kann vielleicht schon nächstes Jahr obsolet sein. Sich an eine Sprache wie C++ zu klammern, ist eben ein besonderes Abenteuer.

    naja wenn du ein programm vorgesetzt bekommst, das 2005 entwickelt wurde, kannst du wohl nur schlecht alles auf c++17 umstellen und nur weil es in c++17 zig neue elemente gegenüber c++03 gibt, heißt das ja nicht, dass man das auch alles benutzen muss. von daher macht das halt schon irgendwie sinn, dass da an der hochschule nur c++03 gelehrt wird.



  • @Wade1234 sagte in Studentenverwaltung:

    naja wenn du ein programm vorgesetzt bekommst, das 2005 entwickelt wurde, kannst du wohl nur schlecht alles auf c++17 umstellen und nur weil es in c++17 zig neue elemente gegenüber c++03 gibt, heißt das ja nicht, dass man das auch alles benutzen muss. von daher macht das halt schon irgendwie sinn, dass da an der hochschule nur c++03 gelehrt wird.

    Nach der Logik könnte man auch gleich nur C unterrichten.



  • @hustbaer
    ja aber warum wird dann C++03 unterrichtet? angeblich ist das ja nicht aufgrund irgendwelcher stammtischüberlegungen der professoren so, sondern weil "die wirtschaft" das so haben will.



  • Kann ich mir nicht vorstellen. Das wird eher daher kommen, dass die Profs nichts anderes können.
    Ist aber auch nicht sooo relevant. Das C++, das im Studium gelernt wird, reicht eh nicht soweit, dass man irgendwelche Unterschiede zwischen C++03 und C++11 aufzeigen könnte. Es werden sogut wie immer nur Programmiergrundlagen beigebracht, meist auch noch technisch ziemlich schlecht. Aber sowas wie smart pointer oder stl hab ich in irgendwelchen Studiumsvorlesungen eh noch nie gesehen.


  • Gesperrt

    @hustbaer sagte in Studentenverwaltung:

    @Wade1234 sagte in Studentenverwaltung:

    naja wenn du ein programm vorgesetzt bekommst, das 2005 entwickelt wurde, kannst du wohl nur schlecht alles auf c++17 umstellen und nur weil es in c++17 zig neue elemente gegenüber c++03 gibt, heißt das ja nicht, dass man das auch alles benutzen muss. von daher macht das halt schon irgendwie sinn, dass da an der hochschule nur c++03 gelehrt wird.

    Nach der Logik könnte man auch gleich nur C unterrichten.

    Du hast es erfasst, Bro. Um imperative Programmierung (in abstrakter Form) zu unterrichten, ist C nicht verkehrt. Für OOP und z.B. funktionale Programmierung nimmt man dann andere Sprachen, die das jeweilige Paradigma am besten wiederspiegeln. Eine halbseidene Frickler-Sprache wie C++, die alles ein bisschen kann, ist meiner Meinung nach eher ungünstig.


  • Gesperrt

    @Wade1234 sagte in Studentenverwaltung:

    @hustbaer
    ja aber warum wird dann C++03 unterrichtet? angeblich ist das ja nicht aufgrund irgendwelcher stammtischüberlegungen der professoren so, sondern weil "die wirtschaft" das so haben will.

    IdR. haben die Profs gute Verbindungen zur Wirtschaft. Die wissen also schon, was Arbeitgeber brauchen und sind angehalten entsprechenden Nachwuchs zu produzieren. Das sorgt für eine gewisse Konfliktsituation, wenn es darum geht langlebiges Wissen zu vermitteln.



  • @RBS2 sagte in Studentenverwaltung:

    Du hast es erfasst, Bro. Um imperative Programmierung (in abstrakter Form) zu unterrichten, ist C nicht verkehrt.

    also wir haben auch zuerst C gelernt und später dann als erweiterung C++.

    Eine halbseidene Frickler-Sprache wie C++, die alles ein bisschen kann, ist meiner Meinung nach eher ungünstig.

    also ich glaube, dass C++ grundsätzlich schon so seine vorteile haben kann. aber bei "[[fallthrough]]" habe ich das buch dann doch wieder ins regal gestellt 🙄 und wahrscheinlich wird genau deshalb C++03 unterrichtet.



  • @Mechanics sagte in Studentenverwaltung:

    Aber sowas wie smart pointer oder stl hab ich in irgendwelchen Studiumsvorlesungen eh noch nie gesehen.

    Nö, wozu auch, dafür gibt es schliesslich Programmierkurse.
    Man kann sich über den Sinn und Zweck des Inhalts eines Informatikstudiums sicherlich streiten.
    Das der Studiengang aber kein Programmierkurs sein sollte, finde ich richtig. Das kann (oder sollte) man von einem Studenten schon erwarten können, dass er sich das selber ( z.B. durch einen Extra-Kurs) selber beibringt.



  • @Swordfish

    • Beim Überarbeiten ist die Exceptions Safeness auf der Strecke geblieben (hast Du in den Kommentaren erwähnt).
    • Ein wesentlicher Fehler stellen die Matrikelnummer dar. Diese sollte eindeutig sein.
    [1] Anzeigen
    [2] Anlegen
    [3] Loeschen
    [4] Alle loeschen
    [5] Suche
    [6] Beenden
    
    1
           1: Mustermann, Hans (1)
           1: Mustermann, Peter (1)
    

    Man wird eine globale Variable einführen müssen, und diese hochzählen müssen. Sequenzen würde man in einem realen Projekt nutzen, so dass einem die globalen Variable im C++ erspart bliebe, und man daher keine Diskussion führen muss Singleton ja oder nein.



  • @john-0 sagte in Studentenverwaltung:

    Ein wesentlicher Fehler stellen die Matrikelnummer dar. Diese sollte eindeutig sein.

    Oh, das muss ich in der Aufgabenstellung wohl überlesen haben.



  • @Swordfish sagte in Studentenverwaltung:

    Oh, das muss ich in der Aufgabenstellung wohl überlesen haben.

    Seit wann sind Matrikelnummer nicht eindeutig?



  • Seit es mehrere Fakultäten in einer Stadt gibt und diese Studenten auch woanders registriert werden. oder auch ... das hat garnix mit einer Fakultät zu tun sondern verwaltet enfach nur Studenten; egal ob aus A oder aus B.



  • @Swordfish
    Du wolltest Kommentare zur Deiner Lösung, die hast Du bekommen – nicht mehr und nicht weniger. Falls Du der Meinung bist, die Aufgabe sei korrekt umgesetzt, werde ich mit Dir nicht darüber diskutieren, denn ich bin nicht Dein Betreuer zum betreffenden Schein. Meiner Auffassung nach haben Matrikelnummer eindeutig zu sein, und von der Verwaltung mehrerer Hochschulen war keine Rede.



  • @john-0 sagte in Studentenverwaltung:

    ich bin nicht Dein Betreuer zum betreffenden Schein

    Du Horst, ich mache keinen Schein.
    Das ist keine Aufgabe für mich.
    Und wenn Du den Sarkasmus in meinem vorigen Beitrag nicht gefunden hast, dann ... ja, weiß auch nicht ... darfst Du weitersuchen.


Anmelden zum Antworten