Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.73 KB | None | 0 0
  1. #include <iostream> // Benoetigt für std::cout, welches zur Ausgabe von Text auf der Konsole verwendet wird
  2.  
  3. #include "Weihnachtsbaum.h" // Einbinden der Definition der Klasse Weihnachtsbaum
  4.  
  5.  
  6. // Implementierung des Konstruktors mit der Signatur: Weihnachtsbaum(int hoehe);
  7. Weihnachtsbaum::Weihnachtsbaum(int hoehe)
  8. {
  9. this->hoehe = hoehe;
  10. }
  11.  
  12. // Implementierung der Methode mit der Signatur: int getHoehe();
  13. int Weihnachtsbaum::getHoehe()
  14. {
  15. return hoehe;
  16. }
  17.  
  18. // Implementierung der Methode mit der Signatur: void zeichne();
  19. void Weihnachtsbaum::zeichne()
  20. {
  21. zeichneKrone();
  22. zeichneStumpf();
  23. }
  24.  
  25. // Implementierung der Methode zum Zeichnen der Krone abhaengig von der angegebenen Hoehe
  26. // Ausgabe des Zeichens 'x'
  27. void Weihnachtsbaum::zeichneKrone()
  28. {
  29. // * 3 Leerzeichen
  30. // *** 2 Leerzeichen
  31. // ***** 1 Leerzeichen
  32. //******* 0 Leerzeichen
  33. for(int y=0; y<hoehe; ++y)
  34. {
  35. for(int x=0; x < hoehe-1-y; ++x)
  36. {
  37. std::cout << " ";
  38. }
  39.  
  40. for(int x=0; x < 2*y+1; ++x)
  41. {
  42. std::cout << "*";
  43. }
  44. std::cout << std::endl;
  45. }
  46. }
  47.  
  48. // Implementierung der privaten Methode zum Zeichnen des Baumstumpfs als Quadrat zentriert unterhalb der Krone
  49. // Groesse der Seiten des Baumstumpfes entsprechend der gegebenen Formel
  50. // Ausgabe des Zeichens 'x'
  51.  
  52. void Weihnachtsbaum::zeichneStumpf()
  53. {
  54. int breite = 2*(hoehe/4) + 1;
  55.  
  56. for(int y=0; y<breite; ++y)
  57. {
  58. for(int x=0; x < (2*(hoehe-1)+1 - breite)/2; ++x)
  59. {
  60. std::cout << " ";
  61. }
  62. for(int x=0; x < breite; ++x)
  63. {
  64. std::cout << "+";
  65. }
  66. std::cout << std::endl;
  67. }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement