Advertisement
SteelK

Untitled

Oct 8th, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.49 KB | None | 0 0
  1. //#include "stdafx.h"
  2. #include <iostream>
  3. #include <cstring> //Для strcmp
  4.  
  5. //Тут было std, но теперь его нет...
  6.  
  7. class piramidBulder //Класс постройки пирамиды
  8. {
  9.     private:
  10.         size_t sizePiramid; //Радиус самого нижнего ряда
  11.         int sizeBuf, space, zv;
  12.  
  13.     public:
  14.         void forSpaceInBuilder() //Метод, пишущий пробелы
  15.         {
  16.             for (space = sizeBuf - 1; space != 0; space--) //Дикая формула расчета 1
  17.                 std::cout << " ";
  18.         }
  19.  
  20.         void forStarInBuilder() //Метод, пишущий звездочки
  21.         {
  22.             for (zv = sizePiramid * 2 + 1 - (sizeBuf * 2); zv != 0; zv--) //Дикая формула расчета 2
  23.                 std::cout << "*";
  24.         }
  25.  
  26.         void getSize() //Метод получения радиуса последнего ряда
  27.         {
  28.             std::cout << "Enter the size of the pyramid..." << std::endl;
  29.             std::cin >> sizePiramid;
  30.         }
  31.  
  32.         void showPiramid() //Метод конструкции построения
  33.         {
  34.             std::cout << std::endl;
  35.             for (sizeBuf = sizePiramid; sizeBuf != 0; sizeBuf--)
  36.             {
  37.                 forSpaceInBuilder();
  38.                 forStarInBuilder();
  39.                 forSpaceInBuilder();
  40.                 std::cout << std::endl;
  41.             }
  42.             std::cout << std::endl;
  43.         }
  44.  
  45.         void egg(size_t eggParametr) // :)
  46.         {
  47.             sizePiramid = eggParametr;
  48.             showPiramid();
  49.         }
  50.  
  51.         piramidBulder() //Конструктор, показывает пример работы
  52.         {
  53.             std::cout << "Hello, this is the builder of pyramids. These are priramids he builds:" << std::endl;
  54.             sizePiramid = 4;
  55.             showPiramid();
  56.         }
  57.  
  58.         ~piramidBulder() //Деструктор, прощается в конце работы программы
  59.         {
  60.             std::cout << "Goodbye, my friend :)" << std::endl;
  61.         }
  62. };
  63.  
  64. int main()
  65. {
  66.     char answer[256]; //Для ответа-выхода
  67.     piramidBulder newPiramid; //Объект класса piramidBulder
  68.     while (true)
  69.     {
  70.         newPiramid.getSize(); //Получили размер
  71.         newPiramid.showPiramid(); //Нарисовали пирамидку
  72.         std::cout << "Want another pyramid? (other case / n)" << std::endl; //Запрос на еще одну пирамидку
  73.         std::cin >> answer;
  74.         if (!(strcmp(answer, "n"))) //Единственный выход
  75.             break;
  76.         else if (!(strcmp(answer, "lol")))
  77.         {
  78.             while(true)
  79.             {
  80.                 static size_t eggParametr = 1;
  81.                 newPiramid.egg(eggParametr);
  82.                 eggParametr += 3;
  83.             }
  84.         }
  85.         std::cout << std::endl;
  86.     }
  87.     return 0;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement