Verica

Parking plac

Apr 4th, 2019
394
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.67 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4. class ParkingPlac
  5. {
  6. private:
  7. char adresa[20];
  8. char *identifikacija;
  9. int cena;
  10. int zarabotka;
  11. public:
  12. ParkingPlac(char *adresa1=0,char *identifikacija1=0,int cena1=0)
  13. {
  14. strcpy(adresa,adresa1);
  15. identifikacija=new char[strlen(identifikacija1)+1];
  16. strcpy(identifikacija,identifikacija1);
  17. cena=cena1;
  18. zarabotka=0;
  19. }
  20. ParkingPlac(const ParkingPlac &p)
  21. {
  22. strcpy(adresa,p.adresa);
  23. cena=p.cena;
  24. zarabotka=p.zarabotka;
  25. identifikacija=new char[(strlen(p.identifikacija))+1];
  26. strcpy(identifikacija,p.identifikacija);
  27. }
  28. ~ParkingPlac()
  29. {
  30. delete [] identifikacija;
  31. }
  32. char * getadresa()
  33. {
  34. return adresa;
  35. }
  36. char * getidentifikacija()
  37. {
  38. return identifikacija;
  39. }
  40. int getcena()
  41. {
  42. return cena;
  43. }
  44. int getzarabotka()
  45. {
  46. return zarabotka;
  47. }
  48. void pecati()
  49. {
  50. cout<<identifikacija<<" "<<adresa;
  51. if(zarabotka!=0)
  52. cout<<" - "<<zarabotka<<endl;
  53. }
  54. void platicasovi(int casovi)
  55. {
  56. zarabotka=zarabotka+casovi*cena;
  57. }
  58. bool daliIst(ParkingPlac p)
  59. {
  60. if(strcmp(identifikacija,p.identifikacija)==0)
  61. return true;
  62. return false;
  63. }
  64. ParkingPlac & operator=(const ParkingPlac &p)
  65. {
  66. if(this!=&p)
  67. {
  68. strcpy(adresa,p.adresa);
  69. cena=p.cena;
  70. zarabotka=p.zarabotka;
  71. delete [] identifikacija;
  72. identifikacija=new char[strlen(p.identifikacija)+1];
  73. strcpy(identifikacija,p.identifikacija);
  74. }
  75. return *this;
  76. }
  77. };
  78. class PretprijatieParking
  79. {
  80. private:
  81. char ime[35];
  82. ParkingPlac *parking;
  83. int br;
  84. public:
  85. PretprijatieParking(char *ime=0,ParkingPlac *p=0,int br=0)
  86. {
  87. strcpy(this->ime,ime);
  88. this->br=br;
  89. parking=new ParkingPlac[br];
  90. for(int i=0;i<br;i++)
  91. parking[i]=p[i];
  92. }
  93. PretprijatieParking(const PretprijatieParking &p)
  94. {
  95. strcpy(ime,p.ime);
  96. br=p.br;
  97. parking=new ParkingPlac[br];
  98. for(int i=0;i<br;i++)
  99. parking[i]=p.parking[i];
  100. }
  101. ~PretprijatieParking()
  102. {
  103. delete [] parking;
  104. }
  105. bool platiParking(char id[],int brojcasovi)
  106. {
  107. for(int i=0;i<br;i++)
  108. {
  109. if(strcmp(id,parking[i].getidentifikacija())==0)
  110. {
  111. parking[i].platicasovi(brojcasovi);
  112. return true;
  113. }
  114. }
  115. return false;
  116. }
  117. void dodadiParkingPlac(ParkingPlac &p)
  118. {
  119. ParkingPlac *pom;
  120. pom=new ParkingPlac[br+1];
  121. for(int i=0;i<br;i++)
  122. pom[i]=parking[i];
  123. delete [] parking;
  124. parking=pom;
  125. }
  126. void pecati()
  127. {
  128. cout<<"Direktor :"<<ime<<endl;
  129. for(int i=0;i<br;i++)
  130. parking[i].pecati();
  131. }
  132. };
  133. int main()
  134. {
  135. PretprijatieParking gradski("Mirko Mirkovski");
  136. int n;
  137. char adresa[50],id[50];
  138. int brojcasovi,cenacas;
  139. cin>>n;
  140. for (int i=0;i<n;i++)
  141. {
  142. cin.get();
  143. cin.getline(adresa,50);
  144. cin>>id>>cenacas;
  145. ParkingPlac edna(adresa,id,cenacas);
  146. gradski.dodadiParkingPlac(edna);
  147. }
  148. cin>>n;
  149. for (int i=0;i<n;i++)
  150. {
  151. cin>>id>>brojcasovi;
  152.  
  153. if(!gradski.platiParking(id,brojcasovi))
  154. cout<<"Ne e platen parking. Greshen ID."<<endl;
  155. }
  156. cout<<"========="<<endl;
  157. gradski.pecati();
Advertisement
Add Comment
Please, Sign In to add comment