Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.74 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3.  
  4. using namespace std;
  5.  
  6. class Avtomobil
  7. {
  8. private:
  9. char boja[20];
  10. char brend[20];
  11. char model[20];
  12. public:
  13. Avtomobil(char *boja="", char *brend="", char *model="")
  14. {
  15. strcpy(this->boja,boja);
  16. strcpy(this->brend,brend);
  17. strcpy(this->model,model);
  18. }
  19. Avtomobil& operator=(const Avtomobil &a)
  20. {
  21. if (this != &a)
  22. {
  23. strcpy(boja,a.boja);
  24. strcpy(brend,a.brend);
  25. strcpy(model,a.model);
  26. }
  27. return *this;
  28. }
  29. friend class ParkingPlac;
  30. };
  31.  
  32. class ParkingPlac
  33. {
  34. private:
  35. char adresa[20];
  36. char *id;
  37. int cena, zarabotka;
  38. Avtomobil *a;
  39. int broj;
  40. public:
  41. ParkingPlac(char *adresa="", char *id="", int cena=0, int zarabotka=0, Avtomobil *a=0, int broj=0)
  42. {
  43. strcpy(this->adresa,adresa);
  44. this->id=new char [strlen(id)+1];
  45. this->cena=cena;
  46. this->zarabotka=zarabotka;
  47. this->broj=broj;
  48. this->a=new Avtomobil [broj];
  49. for (int i=0; i<broj;i++)
  50. this->a[i]=a[i];
  51. }
  52. //copy
  53. ParkingPlac(const ParkingPlac &pp)
  54. {
  55. strcpy(adresa,pp.adresa);
  56. id=new char [strlen(pp.id)+1];
  57. strcpy(id,pp.id);
  58. cena=pp.cena;
  59. zarabotka=pp.zarabotka;
  60. broj=pp.broj;
  61. a=new Avtomobil[broj];
  62. for (int i=0; i<broj; i++)
  63. a[i]=pp.a[i];
  64. }
  65. //Destuktor
  66. ~ParkingPlac()
  67. {
  68. delete [] id;
  69. delete [] a;
  70. }
  71. void pecati()
  72. {
  73. if (zarabotka>0)
  74. cout<<id<<" "<<adresa<<" - "<<zarabotka<<" denari."<<endl;
  75. else
  76. cout<<id<<" "<<adresa<<endl;
  77. }
  78. void platiCasovi(int casovi)
  79. {
  80. zarabotka=casovi*cena;
  81. }
  82. bool daliIstaAdresa(ParkingPlac p)
  83. {
  84. if (strcmp(adresa,p.adresa)==0)
  85. return true;
  86. else
  87. return false;
  88. }
  89. ParkingPlac& parkirajVozilo(Avtomobil novovozilo)
  90. {
  91. Avtomobil *tmp=new Avtomobil [broj+1];
  92. for (int i=0; i<broj; i++)
  93. tmp[i]=a[i];
  94. tmp[broj++]=novovozilo;
  95. delete [] a;
  96. a=tmp;
  97. return *this;
  98. }
  99. void pecatiParkiraniVozila()
  100. {
  101. for (int i=0; i<broj; i++)
  102. cout<<a[i].boja<<" "<<a[i].brend<<" "<<a[i].model<<endl;
  103. }
  104. };
  105.  
  106. int main()
  107. {
  108. int n;
  109. cin>>n;
  110. ParkingPlac p("Cvetan","C12",100);
  111. p.platiCasovi(2);
  112. ParkingPlac p1("Cvetan", "C11", 80);
  113. p1.platiCasovi(1);
  114. Avtomobil a1("Siv","Mercedes","Benz");
  115. p.parkirajVozilo(a1);
  116. p.pecatiParkiraniVozila();
  117. cout<<p1.daliIstaAdresa(p);
  118. p1.pecati();
  119. p.pecati();
  120. return 0;
  121. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement