Dimitrija

Laboratoriski 3 - 4 OOP

Mar 23rd, 2021 (edited)
301
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.03 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. /*
  6. Во оваа задача е потребно да уредите даден дом со маси. Креирајте класа Masa со следниве атрибути:
  7. должина (целобројна вредност)
  8. ширина (целобројна вредност)
  9. конструктор со и без параметри и метода pecati().
  10.  
  11. Креирајте класа Soba која содржи:
  12. маса (објект од класата Маса)
  13. должина на собата (целобројна вредност)
  14. ширина на собата (целобројна вредност)
  15. конструктор со и без параметри и метода pecati() во која се повикува и pecati() за објектот Masa.
  16.  
  17. Креирајте класа Kukja со атрибути:
  18. соба (објект од класата Soba)
  19. адреса (низа од 50 знаци), и соодветни методи.
  20. конструктор со и без параметри, деструктор и метода pecati() во која се повикува и pecati() за објектот Soba.
  21.  
  22. For example:
  23. Input: 
  24. 2
  25. 1 2 10 5 Dame_Gruev_93b
  26. 1 3 12 3 Petta_Avenija_6
  27. Result:
  28. Adresa: Dame_Gruev_93b Soba: 10 5 Masa: 1 2
  29. Adresa: Petta_Avenija_6 Soba: 12 3 Masa: 1 3
  30. */
  31.  
  32. //vasiot kod ovde
  33. class Masa{
  34. private:
  35.     int dolzina;
  36.     int sirina;
  37. public:
  38.     Masa();
  39.     Masa(int dolzina,int sirina);
  40.     void print();
  41.     ~Masa();
  42. };
  43. Masa::Masa(){}
  44. Masa::Masa(int dolz,int sir):dolzina(dolz),sirina(sir){}
  45. void Masa::print(){
  46.     cout<<"Masa: "<<dolzina<<" "<<sirina<<endl;
  47. }
  48. Masa::~Masa(){}
  49.  
  50. class Soba{
  51. private:
  52.     Masa MasaObj;
  53.     int dolzinaSoba;
  54.     int sirinaSoba;
  55. public:
  56.     Soba();
  57.     Soba(int dolzSoba,int sirSoba,Masa Obj);
  58.     void print();
  59.     ~Soba();
  60. };
  61. Soba::Soba(){}
  62. Soba::Soba(int dolzSoba,int sirSoba,Masa Obj): MasaObj(Obj),dolzinaSoba(dolzSoba),sirinaSoba(sirSoba){}
  63. void Soba::print(){
  64.     cout<<"Soba: "<<dolzinaSoba<<" "<<sirinaSoba<<" ";
  65.     MasaObj.print();
  66. }
  67. Soba::~Soba(){}
  68.  
  69. class Kukja{
  70. private:
  71.     enum Dolzina{AdresaDolz = 50};
  72.     Soba SobaObj;
  73.     char adresa[AdresaDolz+1];
  74. public:
  75.     Kukja();
  76.     Kukja(Soba Obj,char *adr);
  77.     void pecati();
  78.     ~Kukja();
  79. };
  80. Kukja::Kukja(){}
  81. Kukja::Kukja(Soba Obj,char *adr): SobaObj(Obj){
  82.     strncpy(adresa,adr,AdresaDolz);
  83.     this->adresa[AdresaDolz] = '\0';
  84. }
  85. void Kukja::pecati(){
  86.     cout<<"Adresa: "<<adresa<<" ";
  87.     SobaObj.print();
  88. }
  89. Kukja::~Kukja(){}
  90.  
  91.  
  92. //ne smee da se menuva main funkcijata!
  93. int main(){
  94.     int n;
  95.     cin>>n;
  96.     for(int i=0;i<n;i++){
  97.         int masaSirina,masaDolzina;
  98.         cin>>masaSirina;
  99.         cin>>masaDolzina;
  100.         Masa m(masaSirina,masaDolzina);
  101.         int sobaSirina,sobaDolzina;
  102.         cin>>sobaSirina;
  103.         cin>>sobaDolzina;
  104.         Soba s(sobaSirina,sobaDolzina,m);
  105.         char adresa[30];
  106.         cin>>adresa;
  107.         Kukja k(s,adresa);
  108.         k.pecati();
  109.     }
  110.  
  111.     return 0;
  112. }
Add Comment
Please, Sign In to add comment