Quipex

абблабла

Oct 9th, 2016
406
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.22 KB | None | 0 0
  1. class Device{
  2. private:
  3.     char name[15];
  4.     int length;
  5.     int height;
  6.     int width;
  7.     int statePower; //1 - on; 0 - off
  8.     int stateWorking;//1 - works fine; 0 - is broken
  9.     int numberExtras;
  10.     struct parts {
  11.         char name[15];
  12.         int quantity;
  13.         char dealer[15];
  14.     };
  15.     parts *part;
  16. public:
  17.     Device(){
  18.         cout << "CONSTRUCTOR W/O ARGs:\n";
  19.         cout << "Name: "; cin >> name;
  20.         cout << "Length: "; cin >> length;
  21.         cout << "Height: "; cin >> height;
  22.         cout << "Width: "; cin >> width;
  23.         cout << "Powered or not? (0/1): "; cin >> statePower;
  24.         cout << "Does it work? (0/1): "; cin >> stateWorking;
  25.         cout << "How many extra parts does it have? : "; cin >> numberExtras;
  26.         part = new parts[numberExtras];
  27.         for (int i(0); i < numberExtras; i++) {
  28.             cout << i+1 << ".\n";
  29.             cout << "Name: "; cin >> part[i].name;
  30.             cout << "Quantity: "; cin >> part[i].quantity;
  31.             cout << "Dealer: "; cin >> part[i].dealer;
  32.         }
  33.     };
  34.     Device(char* n, int l, int h, int w, int sP, int sW, int num, char* pN, int pQ, char* pD) {
  35.         strcpy(name, n);
  36.         length = l;
  37.         height = h;
  38.         width = w;
  39.         statePower = sP;
  40.         stateWorking = sW;
  41.         numberExtras = num;
  42.        
  43.         part = new parts[numberExtras];
  44.         strcpy(part[0].name, pN);
  45.         part[0].quantity = pQ;
  46.         strcpy(part[0].dealer, pD);
  47.     };
  48.     void showData(){
  49.         cout << "\nName: " << name;
  50.         cout << "\nLength: " << length;
  51.         cout << "\nHeight: " << height;
  52.         cout << "\nWidth: " << width;
  53.         if (statePower == 1) { cout << "\nPowered"; }
  54.         else { cout << "\nNot powered"; };
  55.         if (stateWorking == 1) { cout << "\nWorks fine\n"; }
  56.         else { cout << "\nIs broken :(\n"; };
  57.         cout << "Number of extras: " << numberExtras << endl;
  58.         for (int i(0); i < numberExtras; i++) {
  59.             cout << i + 1 << ".\n";
  60.             cout << "Name: " << part[i].name;
  61.             cout << "\nQuantity: " << part[i].quantity;
  62.             cout << "\nDealer: " << part[i].dealer << endl;
  63.         }
  64.     }
  65.     ~Device(){
  66.         delete[]part;
  67.         cout << "Destructed.\n";
  68.     };
  69. };
  70. int main()
  71. {
  72.     Device device1;
  73.     cout << "\n\nInfo for constructed W/O ARGs:\n";
  74.     device1.showData();
  75.     system("pause");
  76.  
  77.     Device device2("Ruler", 200, 30, 20, 0, 1, 1, "grip", 1, "Hongjou inc.");
  78.     cout << "\n\nInfo for constructed WITH ARGs:\n";
  79.     device2.showData();
  80.     system("pause");
  81.  
  82.     return 0;
  83. }
Advertisement
Add Comment
Please, Sign In to add comment