Hey Leute,
ich soll da was programmieren hab aber keine Ahnung wie das gehen soll. Kann mir jemand helfen?
Termine haben haben einen Zeitpunkt, eine Beschreibung und nden an einem Ort statt.
Man unterscheidet Termine, die
einmalig,
wiederholt alle n Tage (endlos) sowie
wiederholt alle n Tage innerhalb einer festen Zeitspanne
stattnden. Ziel dieser Aufgabe ist es, diese Hierarchie und die entsprechenden Gemeinsamkeiten
durch Vererbung moglichst gut umzusetzen.
Zur Vereinfachung gehen wir davon aus, dass alle Zeitangaben (also auch Beginn und Ende
von Zeitspannen) in Tagen nach Beginn Ihres Studiums (1. April) erfolgen. Der int-Wert 6
reprasentiert also den 7. April.
Programmieren Sie eine Klasse Termin sowie die davon abgeleitete Klassenhierarchie zur
Darstellung einmaliger, sich endlos wiederholender sowie sich nur innerhalb einer vorgegebenen
Zeitspanne wiederholender Termine.
Ausserdem soll die Klasse Termin eine Methode int diff(int tag) zur Verfugung stellen,
die bestimmt, in wievielen Tagen relativ zum Zeitpunkt tag der entsprechende Termin zum
nachsten Mal stattndet. Im Falle vergangener, einmaliger Termine wird entsprechend eine
negative Zahl zuruckgegeben. Fur sich wiederholende Termine betrachten Sie die folgenden
Beispiele:
Ein sich endlos wiederholender Termin, der seit dem 25. Tag jede Woche wiederholt
stattndet, liefert fur t.diff(27) die Zahl 5 zuruck.
Ein Termin, der sich in der Zeit vom 2. bis zum 32. Tag alle 3 Tage wiederholt
(2; 5; : : : ; 26; 29; 32), liefert fur t.diff(27) die Zahl 2 zuruck.
Fur denselben Termin, der also vom 2. bis zum 32. Tag alle 3 Tage stattndet, liefert
t.diff(33) entsprechend die Zahl -1 zuruck.
Implementieren Sie anschliessend die Klasse Terminkalender, mit deren Hilfe
Termine eingetragen (void fuegeTerminHinzu(Termin t)),
Termine eines Tages abgefragt (Termin[] termineAm(int tag)) und
der relativ zu einem Tag tag zukunftig als nachstes stattndende Termin bestimmt
(Termin naechsterTermin(int tag))
werden konnen. Hinweis: Zur Verwaltung der Liste der Termine konnen Sie die bekannten
Listenimplementierungen einfach anpassen.
Schreiben Sie eine Klasse TerminkalenderTest, in deren main-Methode Sie Ihre Klassen
und die erwarteten Ruckgabewerte testen.
ich soll da was programmieren hab aber keine Ahnung wie das gehen soll. Kann mir jemand helfen?
Termine haben haben einen Zeitpunkt, eine Beschreibung und nden an einem Ort statt.
Man unterscheidet Termine, die
einmalig,
wiederholt alle n Tage (endlos) sowie
wiederholt alle n Tage innerhalb einer festen Zeitspanne
stattnden. Ziel dieser Aufgabe ist es, diese Hierarchie und die entsprechenden Gemeinsamkeiten
durch Vererbung moglichst gut umzusetzen.
Zur Vereinfachung gehen wir davon aus, dass alle Zeitangaben (also auch Beginn und Ende
von Zeitspannen) in Tagen nach Beginn Ihres Studiums (1. April) erfolgen. Der int-Wert 6
reprasentiert also den 7. April.
Programmieren Sie eine Klasse Termin sowie die davon abgeleitete Klassenhierarchie zur
Darstellung einmaliger, sich endlos wiederholender sowie sich nur innerhalb einer vorgegebenen
Zeitspanne wiederholender Termine.
Ausserdem soll die Klasse Termin eine Methode int diff(int tag) zur Verfugung stellen,
die bestimmt, in wievielen Tagen relativ zum Zeitpunkt tag der entsprechende Termin zum
nachsten Mal stattndet. Im Falle vergangener, einmaliger Termine wird entsprechend eine
negative Zahl zuruckgegeben. Fur sich wiederholende Termine betrachten Sie die folgenden
Beispiele:
Ein sich endlos wiederholender Termin, der seit dem 25. Tag jede Woche wiederholt
stattndet, liefert fur t.diff(27) die Zahl 5 zuruck.
Ein Termin, der sich in der Zeit vom 2. bis zum 32. Tag alle 3 Tage wiederholt
(2; 5; : : : ; 26; 29; 32), liefert fur t.diff(27) die Zahl 2 zuruck.
Fur denselben Termin, der also vom 2. bis zum 32. Tag alle 3 Tage stattndet, liefert
t.diff(33) entsprechend die Zahl -1 zuruck.
Implementieren Sie anschliessend die Klasse Terminkalender, mit deren Hilfe
Termine eingetragen (void fuegeTerminHinzu(Termin t)),
Termine eines Tages abgefragt (Termin[] termineAm(int tag)) und
der relativ zu einem Tag tag zukunftig als nachstes stattndende Termin bestimmt
(Termin naechsterTermin(int tag))
werden konnen. Hinweis: Zur Verwaltung der Liste der Termine konnen Sie die bekannten
Listenimplementierungen einfach anpassen.
Schreiben Sie eine Klasse TerminkalenderTest, in deren main-Methode Sie Ihre Klassen
und die erwarteten Ruckgabewerte testen.
Zuletzt bearbeitet von einem Moderator: