Prof. Dr. Franz Schweiggert Abteilung Angewandte
Informationsverarbeitung 13. Dezember 2001
Christian Ehrhardt Blatt 9
Allgemeine Informatik 3 (WS 2001/2002)
Abgabetermin 15.01 2002
Jedes Jahr muß die Controlingabteilung eines kleinen Unternehmens
feststellen, daß die Mitarbeiter vor Weihnachten mehr Zeit mit dem
Nachdenken über Weihnachtsgeschenke verbringen als mit der
eigentlichen Arbeit. Deshalb ist für das nächste Jahr eine
effizientere Lösung geplant.
Dazu erstellt jeder Mitarbeiter eine Datei in der steht, welchen
anderen Mitarbeitern er etwas schenken will und wieviel jedes dieser
Geschenke wert sein soll. In jeder Zeile einer solchen Datei
steht der Name des zu beschenkenden Mitarbeiters (maximal 40 Buchstaben
ohne Leerzeichen) gefolgt von dem Betrag in DM, der für das
Geschenk ausgegeben werden soll. Sobald er diese Datei erstellt
hat, teilt er der Buchhaltung den Pfad mit, unter dem die Datei
zu finden ist.
In der Buchhaltung wird dann eine zentrale Datei gepflegt, die
die Namen der Mitarbeiter den Dateien mit den Geschenkdaten
zuordnet. Jede Zeile dieser zentralen Datei besteht aus dem Namen
eines Mitarbeiters und dem Namen der Datei, in dem dieser Mitarbeiter
die Informationen über seine Geschenke abgelegt hat.
Ihr sollt jetzt ein Programm schreiben, das zuerst das Weihnachtsergebnis
jedes Mitarbeiters berechnet. Das Weihnachtsergebnis eines Mitarbeiters
ist der Betrag, der übrig bleibt, wenn man die Ausgaben
für eigene Geschenke vom Gesamtwert der erhaltenen Geschenke subtrahiert.
Anschließend soll eine vereinfachte Version der ganzen Schenkerei
ermittelt werden, die folgende Eigenschaften hat:
- Es werden nur noch Bargeldgeschenke gemacht.
- Das Weihnachtsergebnis der Mitarbeiter soll sich nicht verändern.
- Nur die Weihnachtsgewinner (das sind diejenigen, die weniger
für Geschenke ausgeben, als sie insgesamt bekommen) bekommen
noch Geschenke.
- Nur die Weihnachtsverlierer machen Geschenke.
- Kein Mitarbeiter schenkt einem anderen Mitarbeiter mehr als
ein Geschenk.
Der Name der zentralen Datei wird als Argument auf der Kommandozeile
übergeben. Außerdem soll Euer Programm noch die Option ``-o Dateiname''
unterstützen. Falls diese Option angegeben wird, soll die Ausgabe
in eine Datei erfolgen, sonst auf stdout.
Die SAI wünscht allen fröhliche Weihnachten und einen Guten Rutsch.
Christian Ehrhardt
2001-12-13