000
10.12.2006, 16:39 Uhr
~ymnrad
Gast
|
..könnte jemand bitte mir helfen..ich muss dieses Programm schreiben..ein C++-Programm zum W¨urfeln mit statistischer Auswertung. Das Programm soll zwei Klassen Wuerfel und WurfZaehler enthalten, die wie folgt aufgebaut sind. Die Klasse Wuerfel soll enthalten: • Ein int-Attribut zum Speichern der gew¨urfelten Zahl. • Ein statisches int-Attribut zum Z¨ahlen der bisher generierten Wuerfel-Objekte. • Ein statisches Attribut vom Typ WurfZaehler zum Ermitteln der H¨aufigkeitsverteilung aller gew¨urfelten Zahlen. • Einen Standardkonstruktor, der – beim erstmaligen Anlegen eines Wuerfel-Objekts den Zufallszahlengenerator aus der Bibliothek <cstdlib> initialisiert mit srand(time(NULL)); durch Benutzung der Zeitangabe time(NULL) aus <ctime> – die Anzahl der bisher generierten Objekte (s.o.) um eins erh¨oht – eine Zufallszahl zwischen 1 und 6 ermittelt als zahl=(int)(ceil(((double)rand()/RAND_MAX)*6)); (<cmath> einbinden!) und – die Verteilung der ermittelten Zufallszahlen um die neue Zahl erg¨anzt mittels des Operators += (s.u.). Der Wurf des W¨urfels entspricht also dem Anlegen eines Objekts der Klasse. • Eine statische Methode, die die Verteilung der bisher durchgef¨uhrten W¨urfe ausgibt, indem sie den Ausgabeoperator der Klasse WurfZaehler benutzt (s.u.) Die Klasse WurfZaehler soll enthalten: • Ein int-Feld der L¨ange 6 zum Z¨ahlen von 6 verschiedenen Ereignissen (hier: Ergebnisse des W¨urfelwurfs bzw. Anlegen von Wuerfel-Objekten) • Einen Standardkonstruktor, der das Feld mit 0 initialisiert. • Einen Operator += mit einem int-Parameter und einer WurfZaehler-Referenz als R¨uckgabewert; dabei soll f¨ur ein Objekt W und eine int-Zahl n W+=n bedeuten: Erh¨ohe den Z¨ahler f¨ur n (im Objekt W) um eins. Schreiben Sie desweiteren zwei Ausgabeoperatoren f¨ur die beiden Klassen; bei der Klasse Wuerfel soll die gew¨urfelte Zahl ausgegeben werden, bei der Klasse WurfZaehler die gespeicherte Verteilung. Die Operatoren sollen in den zugeh¨origen Klassen als friends vereinbart werden. Schreiben Sie schließlich ein Hauptprogramm, das 10.000-mal w¨urfelt und anschließend die enstandene Verteilung der W¨urfe (Z.B.: ”Zahl 1: 1685-mal. Zahl 2: 1633-mal.“ etc.) ausgibt. Denken Sie an die Initialisierung der statischen Attribute |