Quipex

Laba 1

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