Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream> // Benoetigt für std::cout, welches zur Ausgabe von Text auf der Konsole verwendet wird
- #include "Weihnachtsbaum.h" // Einbinden der Definition der Klasse Weihnachtsbaum
- // Implementierung des Konstruktors mit der Signatur: Weihnachtsbaum(int hoehe);
- Weihnachtsbaum::Weihnachtsbaum(int hoehe)
- {
- this->hoehe = hoehe;
- }
- // Implementierung der Methode mit der Signatur: int getHoehe();
- int Weihnachtsbaum::getHoehe()
- {
- return hoehe;
- }
- // Implementierung der Methode mit der Signatur: void zeichne();
- void Weihnachtsbaum::zeichne()
- {
- zeichneKrone();
- zeichneStumpf();
- }
- // Implementierung der Methode zum Zeichnen der Krone abhaengig von der angegebenen Hoehe
- // Ausgabe des Zeichens 'x'
- void Weihnachtsbaum::zeichneKrone()
- {
- // * 3 Leerzeichen
- // *** 2 Leerzeichen
- // ***** 1 Leerzeichen
- //******* 0 Leerzeichen
- for(int y=0; y<hoehe; ++y)
- {
- for(int x=0; x < hoehe-1-y; ++x)
- {
- std::cout << " ";
- }
- for(int x=0; x < 2*y+1; ++x)
- {
- std::cout << "*";
- }
- std::cout << std::endl;
- }
- }
- // Implementierung der privaten Methode zum Zeichnen des Baumstumpfs als Quadrat zentriert unterhalb der Krone
- // Groesse der Seiten des Baumstumpfes entsprechend der gegebenen Formel
- // Ausgabe des Zeichens 'x'
- void Weihnachtsbaum::zeichneStumpf()
- {
- int breite = 2*(hoehe/4) + 1;
- for(int y=0; y<breite; ++y)
- {
- for(int x=0; x < (2*(hoehe-1)+1 - breite)/2; ++x)
- {
- std::cout << " ";
- }
- for(int x=0; x < breite; ++x)
- {
- std::cout << "+";
- }
- std::cout << std::endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement