请教各位高手一个C++编程题,急啊
Eine Wetterstation erhält von ihren Messstationen (die hier nicht näher betrachtet werden) in regelmäßigen Abständen aktuelle Messwerte. Zur Vereinfachung der Aufgabe wird nur eine einzige Messstation für die Temperatur angenommen; sie übermittelt ihre Daten, indem sie die Methode void setz_Temp(int temp) der Wetterstation aufruft. Die Wetterstation vergleicht diese mit einem intern gespeicherten Wert und speichert sie nur, wenn die Temperatur um mindestens 1 °C davon abweicht.Jeder Interessent an den Wetterwerten kann sich bei der Wetterstation an- und auch wieder abmelden und bekommt, wenn er angemeldet ist, jede Änderung dadurch mitgeteilt, dass die Wetterstation seine Methode void update(int temp) aufruft. Er muss dazu das Interface Abonnent implementieren, das diese Methode deklariert (anders formuliert: Er muss dazu von der rein virtuellen Klasse Abonnent abgeleitet sein, die...).
Für die An- und Abmeldung stellt die Wetterstation die Methoden void attach(Abonnent *) und void detach(Abonnent *) zur Verfügung. Die Wetterstation verwaltet die Anmeldungen intern in einem STL-Container des Typs list. Ist ein Interessent, der sich anmeldet, bereits angemeldet, oder einer, der sich abmelden möchte, nicht angemeldet, wird eine domain_error-Exception mit entsprechendem Erläuterungstext geworfen ("Err: schon angemeldet bzw. "Err: nicht angemeldet").
Ein TestAbonnent implementiert das Interface Abonnent und definiert zusätzlich einen Konstruktor, der einen Zeiger auf die Wetterstation übernimmt, sowie die Methoden void anmelden() und void abmelden(), die in beliebiger Folge aufgerufen werden können. Der TestAbonnent gibt für jede aufgetretene Exception und jede empfangene update()-Meldung eine entsprechende Zeile auf der Konsole im folgenden Format aus
Err: schon angemeldet
Neue Temperatur: 26 Grad
Err: nicht angemeldet
...
Schreiben Sie
die Klassenvereinbarungen der Klassen Wetterstation, Abonnent und TestAbonnent in jeweils einer .h-Datei,
die Implementierung der Klassen Wetterstation und TestAbonnent in jeweils einer .cpp-Datei,
ein Testprogramm main() in der Datei main.cpp, das eine Wetterstation und zwei TestAbonnenten a und b erzeugt und dann folgende Testfolge ausführt:
a anmelden
b anmelden
24 ° melden
a anmelden
24 ° melden
a abmelden
23 ° melden
b abmelden
24 ° melden
b abmelden
Die Messstation wird dabei in der Weise simuliert, dass das Testprogramm der Wetterstation neue Temperaturwerte meldet. Bei korrekter Programmierung sollte sich die folgende Bildschirmausgabe ergeben:
Neue Temperatur: 24 Grad
Neue Temperatur: 24 Grad
Err: schon angemeldet
Neue Temperatur: 23 Grad
Err: nicht angemeldet
谢谢啦!!!!!!!!! 这题不难,静下心来好好做,主要就是个login checking。找个学长引入门,大概要一两个小时。学会了,就可以开使写小程序挣钱了。
顶一顶,鼓励下。
页:
[1]