Advertisement
avr39-ripe

structExampleBBR192

Apr 27th, 2020
498
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.91 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. struct Dimension
  4. {
  5.     int width;
  6.     int length;
  7.     int height;
  8.  
  9.     void enter();
  10.     void print(bool extended = false);
  11.     bool set(int widthP, int lengthP, int heightP);
  12.     int volume() { return width * length * height; };
  13.     int area() { return width * length;};
  14. };
  15.  
  16. struct WashMachine
  17. {
  18.     char manufacturer[20];
  19.     char color[10];
  20.     Dimension dim;
  21.     int power;
  22.     int speed;
  23.     int temp;
  24.  
  25.     void enter();
  26.     void print();
  27. };
  28.  
  29.  
  30. int main()
  31. {
  32.     //Dimension dm{2,2,0}; //dm.with dm.length dm.height
  33.     //Dimension dm1{3,2,4}; //dm1.with dm1.length dm1.height
  34.  
  35.     //dm.enter(); //dm.with dm.length dm.height
  36.     //dm1.enter(); //dm1.with dm1.length dm1.height
  37.  
  38.     //dm.print(true); //dm.with dm.length dm.height
  39.     //std::cout <<"Volume is: " << dm.volume() << '\n';
  40.  
  41.     //dm1.print(); //dm.with dm.length dm.height
  42.     //std::cout << "Volume is: " << dm1.volume() << '\n';
  43.  
  44.     //if (dm.set(3, 3, 0))
  45.     //{
  46.     //  std::cout << "Changed successfuly!\n";
  47.     //  dm.print(true);
  48.     //  //std::cout << "Volume is: " << dm.volume() << '\n';
  49.     //}
  50.     //else
  51.     //{
  52.     //  std::cout << "Change FAILED!\n";
  53.     //  dm.print(true);
  54.     //  //std::cout << "Volume is: " << dm.volume() << '\n';
  55.     //}
  56.  
  57.     //dm.width = 5;
  58.     //dm.length = 5;
  59.     //dm.height = 5;
  60.  
  61.     //dm.print(); //dm.with dm.length dm.height
  62.     //std::cout << "Volume is: " << dm.volume() << '\n';
  63.     //dm1.print(); //dm1.with dm1.length dm1.height
  64.  
  65.  
  66.     //WashMachine washM1;
  67.     //washM1.enter();
  68.     //washM1.print();
  69.  
  70.     //WashMachine washMLg{ "LG", "black", {250,250,300},1500,900,85 };
  71.     //WashMachine washMSamsung{ "Samsung", "pink", {200,200,300},1200,800,75 };
  72.     //washMLg.print();
  73.     //std::cout << '\n';
  74.     //washMSamsung.print();
  75.  
  76.     //struct Dimension
  77.     //{
  78.     //  int width;
  79.     //  int length;
  80.     //  int height;
  81.  
  82.     //  void enter();
  83.     //  void print(bool extended = false);
  84.     //  bool set(int widthP, int lengthP, int heightP);
  85.     //  int volume() { return width * length * height; };
  86.     //  int area() { return width * length; };
  87.     //};
  88.  
  89.     const int dimSize{ 3 };
  90.     int arr[dimSize]{3,6,9};
  91.  
  92.     Dimension dm0{2,3,4};
  93.     Dimension dm1{ 4,5,7 };
  94.     Dimension dm2{ 1,5,4 };
  95.  
  96.     Dimension* dimensions[dimSize]{ &dm0,&dm1,&dm2 };
  97.  
  98.     //Dimension dimensions[dimSize]{ {2,3,5}, {5,6,0}, {9,4,2} };
  99.  
  100.     dm1.set(4, 7, 0);
  101.  
  102.     for (int i{ 0 }; i < dimSize; ++i)
  103.     {
  104.         std::cout << "Dimension# " << i << '\n';
  105.         dimensions[i]->print(true);
  106.  
  107.         std::cout << '\n';
  108.     }
  109. }
  110.  
  111. void Dimension::enter()
  112. {
  113.     std::cout << "Enter dimension";
  114.     std::cout << "\nEnter width: ";
  115.     std::cin >> width;
  116.     std::cout << "\nEnter length: ";
  117.     std::cin >> length;
  118.     std::cout << "\nEnter height: ";
  119.     std::cin >> height;
  120. };
  121.  
  122. void Dimension::print(bool extended)
  123. {
  124.     std::cout << "Dimension\n";
  125.     std::cout << "Width: " << width << '\n';
  126.     std::cout << "Length: " << length << '\n';
  127.     std::cout << "Height: " << height << '\n';
  128.     if (extended)
  129.     {
  130.         std::cout << "Area: " << area() << '\n';
  131.         if (height)
  132.         {
  133.             std::cout << "Volume: " << volume() << '\n';
  134.         }
  135.     }
  136. };
  137.  
  138. bool Dimension::set(int widthP, int lengthP, int heightP)
  139. {
  140.     if (widthP < 0) { return false; };
  141.     if (lengthP < 0) { return false; };
  142.     if (heightP < 0) { return false; };
  143.  
  144.     width = widthP;
  145.     length = lengthP;
  146.     height = heightP;
  147.     return true;
  148. };
  149.  
  150. void WashMachine::enter()
  151. {
  152.     std::cout << "Enter information about Washing machine.";
  153.     std::cout << "\nEnter manufacturer: ";
  154.     std::cin.getline(manufacturer, 20);
  155.     std::cout << "\nEnter color: ";
  156.     std::cin.getline(color, 10);
  157.     dim.enter();
  158.     std::cout << "\nEnter power: ";
  159.     std::cin >> power;
  160.     std::cout << "\nEnter speed: ";
  161.     std::cin >> speed;
  162.     std::cout << "\nEnter temperature: ";
  163.     std::cin >> temp;
  164. };
  165.  
  166. void WashMachine::print()
  167. {
  168.     std::cout << "Washing machine\n";
  169.     std::cout << "Manufacturer: " << manufacturer << '\n';
  170.     std::cout << "Color: " << color << '\n';
  171.     dim.print(true);
  172.     std::cout << "Power: " << power << '\n';
  173.     std::cout << "Speed: " << speed << '\n';
  174.     std::cout << "Temperature: " << temp << '\n';
  175. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement