Klassen Aufgabenstellung


  • Mod

    Nein, das passt überhaupt nicht. Es sind immer noch so ziemlich alle Dinge falsch, die ich bereits angesprochen habe.



  • Inwiefern? Das meiste wurde ja komplett verändert (im Gegensatz zum Anfangspost). Wäre für konstruktive Kritik und Anregung sehr dankbar.


  • Mod

    Pokerface schrieb:

    Inwiefern? Das meiste wurde ja komplett verändert (im Gegensatz zum Anfangspost).

    Das macht Dinge ja nicht unbedingt besser, nur anders.

    Wäre für konstruktive Kritik und Anregung sehr dankbar.

    Was soll ich noch mehr sagen? Fangen wir mal in ganz kleinen Babyschritten an, wie man so etwas (oder überhaupt irgendetwas) programmiert:
    Welche Art von Objekten werden in der Aufgabenstellung beschrieben? Welche Eigenschaften haben diese? Beschreib das mal in Worten! So in der Art: Ein Kurs besteht aus bis zu 20 Studenten und hat einen Namen. Ein Student hat einen Namen und eine Matrikelnummer. Ein Name besteht aus bis zu 123 Zeichen...



  • Es gibt eine Klasse -> Kurs
    Objekte -> Studenten max 20
    Instanzvariablen (welche Eigenschaften haben die Studenten?) - sie haben einen Namen (x Zeichen lang), eine Matrikelnummer (Ziffernfolge) und haben max 10 Bewertungen. (Ziffernfolgen)
    Methoden (was können sie tun?) - sie können bewertet werden; durch ihre Noten kann der Durchschnitt berechnet werden auf der Basis einer Person bzw aller Studenten im Kurs; es kann der Durchschnitt jedes einzelnen Studenten präsentiert werden.


  • Mod

    Ist das wirklich alles? Da fehlt beispielsweise noch mindestens der Name des Kurses. Geh die Aufgabenstellung doch einmal gründlich durch. Das sollte doch selbstverständlich sein, dass man das machen muss.

    Ist eine Note wirklich eine Ziffernfolge? Schließlich kann man damit rechnen.

    Welche Methoden und Eigenschaften gehören zu welcher Klasse? Bei deiner Beschreibung herrscht Chaos, in deinem Code daher auch.



  • Die Benotung findet in Punkten statt, (siehe Angabe) -> Ziffernfolge;
    Es gibt ja nur eine Klasse und zwar "Kurs" und max 20 Objekte das sind die Studenten. "Programmieren[20]" -> daraus kann man den Kursnamen leiten. Klartext wäre hier angebracht. Hab erst vor nicht allzu langer Zeit programmieren angefangen und bin erst seit über einer knapper Woche bei der objektorientierten Programmierung dabei. Also kann ich vieles noch gar nicht wissen.



  • Klartext im Sinne der fertigen Lösung wird hier nur sehr ungerne zur Verfügung gestellt, da es bei der absolut kein Lerneffekt erzielt.

    Ihr werdet doch irgendwelche Unterlagen haben, in denen die Sprache zumindestens syntaktisch mal erklärt wird?
    Und wenn ihr sowas wie OOP macht, dann wird der Dozent bestimmt auch darüber ein paar Worte verloren haben.

    Es gibt nicht nur eine Klasse und ich weiß leider nicht genau, was dich davon abhält, das zu erkennen.

    Es gibt, wie du erkannt hast, die Klasse "Kurs", die einen Kurs repräsentiert.

    Und jetzt soll dieser Kurz Studenten zugeordnet haben - was genau verstehst du denn jetzt daran nicht, dass es auch eine Klasse Studenten geben muss, die Studenten repräsentiert?

    Was du mit "Programmieren[20]" andeutest, ist totaler Stuss.

    Wäre "Programmieren" der Variablen-Name für eine Kurs-Instanz, so brauchst du zuerst mal kein Array davon und zweitens leitet sich daraus nicht der Name des Kurses ab ... Zu mindestens nicht für den Benutzer deiner "Software".

    Du brauchst zwei Klassen. Beide Klassen müssen was können und gewisse Eigenschaften haben.

    Schreib einfach mal beide Klassen hin und schreib dann zu jeder Klasse, was für Eigenschaften sie braucht und welche Methoden sie zur Verfügung stellen muss
    Orientiere dich dabei an dem Aufgabentext.

    Das hat sehr wenig mit Programmieren zu tun sondern viel mehr mit logisch Nachdenken.



  • Vielen Dank für die Antwort. 👍
    Natürlich will ich keine fertige Lösung präsentiert bekommen, aber manchmal steht man einfach auf der Leitung und kommt keinen cm weiter ohne den kleinen Schubser.

    Unsere Lernunterlagen sind leider sehr mager ausgestattet. (Vererbung wird nicht vorgenommen).

    Wahrlich hab ich wahrscheinlich den Text falsch interpretiert und mich auf die falschen Kernpunkte konzentriert.

    Implementieren Sie eine Klasse Kurs zur Verwaltung der Teilnehmer (maximal 20) einer Lehrveranstaltung. Realisieren Sie einen Konstruktor, mit dem der Titel der Lehrveranstaltung festgelegt werden kann und weiters Methoden zur Eingabe von Namen und Matrikelnummern



  • Pokerface schrieb:

    Unsere Lernunterlagen sind leider sehr mager ausgestattet. (Vererbung wird nicht vorgenommen).

    Vererbung ist hier auch nicht notwendig oder sinnvoll.

    Pokerface schrieb:

    Implementieren Sie eine Klasse Kurs zur Verwaltung der Teilnehmer (maximal 20) einer Lehrveranstaltung. Realisieren Sie einen Konstruktor, mit dem der Titel der Lehrveranstaltung festgelegt werden kann und weiters Methoden zur Eingabe von Namen und Matrikelnummern

    Zugegeben spricht die Aufgabenstellung nicht davon eine Klasse für Studenten anzulegen. Es wird aber auch nicht verboten und ist eigentlich ein logischer Schritt. Das dort eine Klasse steht hat meiner Meinung nach nichts zu bedeutet. Die Aufgabenstellung hätte ja auch lauten können "Implementieren sie eine Klasse Kurs zur ... und eine Klasse Studenten für ...".



  • wird gerade bearbeitet.



  • sebi707 schrieb:

    Es wird aber auch nicht verboten und ist eigentlich ein logischer Schritt.

    Bei einer Aufgabenstellung, die extrem in Richtung "C mit Klassen" geht, wäre ich sehr vorsichtig, was "logische Schritte" angeht 😉


Anmelden zum Antworten