Problem beim Verstehen einer Aufgabe



  • Hallo,

    ich möchte eine Aufgabe lösen, jedoch verstehe ich einige der Fragen nicht richtig gut. Hier mal die komplette Aufgabe:
    Zitat:

    Zur Komprimierung von Textdateien soll die Redundanz der Wörter in einem beliebigen Textfile (Test ASCII- Datei auf der Prüfungsdiskette) geprüft werden. Da die Anzahl der Wörter erst nach der Auswertung bekannt ist, werden die Wörter dynamisch in einer verketteten Liste von Objekten verwaltet, die bei jedem Auftreten eines neuen Wortes um ein Objekt erweitert wird.

    Zur Beschreibung der Objekte wird eine Klasse mit der Bezeichnung Word angelegt.
    Die Objekte der Liste haben folgenden Aufbau:
    Eingelesenes Wort vom Typ Word * wort
    Zähler wie oft sich das Wort im Text wiederholt int anz
    Folgezeiger auf das nächste Objekt Word * fptr

    Für die verkettete Liste wird die statische Klassenvariable static Word * ROOT für den Listenanfang
    benötigt.

    Achtung!
    Die Verwendung der angegebenen Klassen und Variabelenbezeichnung ist verpflichtend.
    Als Programmname wird der Familienname verwendet (eventuell auf acht Zeichen kürzen).

    Anforderungen an das Programm:

    1. Das Programm kann nach Abfrage am Programmende wiederholt werden.
    2. Der Dateiname der Textdatei wird vom Anwender im Dialog eingegeben.
    3. Sollte die Datei nicht geöffnet werden können, so ist eine Fehlermeldung auszugeben und bei der Abfrage der Programmwiederholung fortzusetzen.
    4. Die Datei wird wortweise ausgelesen. Dabei kann zur Vereinfachung angenommen werden, dass ein Wort nur aus Zeichen mit ASC II Wert > 64 besteht.
    5. Bei jedem Wort aus der Datei wird zuerst geprüft, ob es bereits in der Liste vorhanden ist.
    - Wird eine Wiederholung gefunden, so ist der Zähler anz zu erhöhen (Suchen);
    - Wird keine Wiederholung gefunden, so wird das Wort als neues Objekt der Liste
    aufgenommen und der Zähler mit 1 initialisiert (Neuanlage).
    6. Ist das Dateiende erreicht, werden als Ergebnis der Auswertung die Wörter und das jeweilige Vorkommen im Text am Bildschirm seitenweise angezeigt. Dazu soll die Ausgabe nach 15 Zeilen solange angehalten werden, bis eine Taste gedrückt wird (Hinweis weiter mit Tastendruck).
    7. Nach der Auswertung am Bildschirm wird zusätzlich die Möglichkeit angeboten, die Daten für die Weiterverarbeitung in EXCEL speichern. Der Dateiname der Zieldatei wird vom Anwender im Dialog eingegeben.
    Gespeichert werden dazu das Wort und der Zähler getrennt durch TAB (ASC(9)) als Spalten.
    Da der Zähler vom Typ int ist, muss er zum Speichern in einen String umgewandelt werden.
    Die Zeilen werden durch CR und LF (ASC (13) und ASC(10)) getrennt gespeichert.
    8. Der Programmcode ist so zu dokumentieren, dass man problemlos die Programmteile und Absicht erkennen kann.

    Beispieltext: Wenn Fliegen hinter Fliegen fliegen, fliegen Fliegen Fliegen nach.
    Auswertung : Wenn 1
    Fliegen 4
    hinter 1
    fliegen 2
    nach 1

    Mein Problem ist nun speziell das Problem mit den Klassen. Ich soll in der Aufgabe alt C-Strings benutzen (naja das spielt jetzt keine rolle) mein problem liegt hier:

    Zitat:

    Für die verkettete Liste wird die statische Klassenvariable static Word * ROOT für den Listenanfang
    benötigt.
    und noch mal hier:

    Zitat:
    Wird keine Wiederholung gefunden, so wird das Wort als neues Objekt der Liste
    aufgenommen und der Zähler mit 1 initialisiert (Neuanlage).

    Wie ist das hier mit den Objekten gemeint? Das kapiere ich nicht ganz

    Wie würdet Ihr an diese Aufgabe rangehen? Sie ist mehr oder weniger eigentlich ganz simpel. Nur das mit den Objekten verstehe ich in der Aufgabe nicht so ganz, wie ist das gemeint?

    Für eure Hilfe bin ich sehr dankbar

    Gruß

    Sebastian



  • Hast du den Text selber abgetippt oder so? Sieht fast aus als wäre da ein kleiner Fehler, "Eingelesenes Wort vom Typ Word * wort " sieht tendenziell eher aus als sollte es "... char *wort " heißen.

    Sebastian848 schrieb:

    Für die verkettete Liste wird die statische Klassenvariable static Word * ROOT für den Listenanfang
    benötigt.

    Was genau ist da nicht klar? Durch das static wird ROOT zur Klasseninstanz, sprich diese Variable gibt es nur einmal, nicht in jedem Objekt eins.

    Sebastian848 schrieb:

    Wie ist das hier mit den Objekten gemeint? Das kapiere ich nicht ganz

    Ich denke mal (s.o.) damit sind schlicht die Word -Instanzen gemeint.


Anmelden zum Antworten