Advertisement
Guest User

Untitled

a guest
Mar 23rd, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.71 KB | None | 0 0
  1. #include<iostream>
  2. #include<cstring>
  3. //вашиот код
  4.  
  5. using namespace std;
  6.  
  7. class ParkingPlac
  8. {
  9. char adresa[20];
  10. char *id;
  11. int cenacas;
  12. int zarabotka;
  13. Avtomobil *niza;
  14. int brparkirani;
  15.  
  16. public:
  17.  
  18. ParkingPlac()
  19. {
  20. strcpy(adresa,"");
  21. id=new char[0];
  22. cenacas=0;
  23. zarabotka=0;
  24. niza=new Avtomobil[0];
  25. brparkirani=0;
  26. }
  27.  
  28. ParkingPlac(char *a, char *ID, int cena)
  29. {
  30. delete [] id;
  31. delete [] niza;
  32. strcpy(adresa,a);
  33. id=new char[strlen(ID)+1];
  34. strcpy(id,ID);
  35. cenacas=cena;
  36. zarabotka=0;
  37. brparkirani=0;
  38. niza=new Avtomobil[brparkirani];
  39.  
  40. }
  41.  
  42. ParkingPlac(const ParkingPlac &p)
  43. {
  44. delete [] id;
  45. delete [] niza;
  46. strcpy(adresa,p.adresa);
  47. id=new char[strlen(p.id)+1];
  48. strcpy(id,p.id);
  49. cenacas=p.cenacas;
  50. zarabotka=p.zarabotka;
  51. brparkirani=p.brparkirani;
  52. niza=new Avtomobil[brparkirani];
  53. for(int i=0;i<brparkirani; i++)
  54. {
  55. niza[i]=p.niza[i];
  56. }
  57.  
  58. }
  59.  
  60. ParkingPlac &operator=(const ParkingPlac &p)
  61. {
  62. delete [] id;
  63. delete [] niza;
  64. strcpy(adresa,p.adresa);
  65. id=new char[strlen(p.id)+1];
  66. strcpy(id,p.id);
  67. cenacas=p.cenacas;
  68. zarabotka=p.zarabotka;
  69. brparkirani=p.brparkirani;
  70. niza=new Avtomobil[brparkirani];
  71. for(int i=0;i<brparkirani; i++)
  72. {
  73. niza[i]=p.niza[i];
  74. }
  75. return *this;
  76. }
  77.  
  78. char *getId()
  79. {
  80. return id;
  81. }
  82.  
  83. void platiCasovi(int casovi)
  84. {
  85. zarabotka+=casovi*cenacas;
  86. }
  87.  
  88. bool daliIstaAdresa(ParkingPlac p)
  89. {
  90. return (strcmp(adresa,p.adresa)==0);
  91. }
  92.  
  93.  
  94. void pecati()
  95. {
  96. cout << id << " " << adresa << " - " << zarabotka << " denari" << endl;
  97. }
  98.  
  99. void parkirajVozilo(Avtomobil novoVozilo){
  100.  
  101. Avtomobil* novaLista = new Avtomobil[brparkirani+1];
  102. for(int i = 0; i < brparkirani; ++i){
  103.  
  104. novaLista[i] = niza[i];
  105. }
  106. delete [] niza;
  107. niza = novaLista;
  108. niza[brparkirani++] = novoVozilo;
  109. }
  110.  
  111. void pecatiParkiraniVozila(){
  112.  
  113. cout << "Vo parkingot se parkirani slednite vozila: " << endl;
  114.  
  115. for(int i = 0; i < brparkirani; ++i){
  116.  
  117. cout << i+1 << ".";
  118. niza[i].pecati();
  119. }
  120. }
  121.  
  122. ~ParkingPlac()
  123. {
  124. delete [] id;
  125. delete [] niza;
  126. }
  127.  
  128. friend class Avtomobil;
  129.  
  130. };
  131.  
  132. class Avtomobil
  133. {
  134. char boja[20];
  135. char brend[20];
  136. char model[20];
  137.  
  138. public:
  139.  
  140. Avtomobil()
  141. {
  142. strcpy(boja,"");
  143. strcpy(brend,"");
  144. strcpy(model,"");
  145. }
  146.  
  147. Avtomobil(char *b,char *br,char *m)
  148. {
  149. strcpy(boja,b);
  150. strcpy(brend,br);
  151. strcpy(model,m);
  152. }
  153.  
  154. Avtomobil(const Avtomobil &a)
  155. {
  156. strcpy(boja,a.boja);
  157. strcpy(brend,a.brend);
  158. strcpy(model,a.model);
  159. }
  160.  
  161. Avtomobil &operator=(const Avtomobil &a)
  162. {
  163. strcpy(boja,a.boja);
  164. strcpy(brend,a.brend);
  165. strcpy(model,a.model);
  166. return *this;
  167. }
  168.  
  169. void pecati()
  170. {
  171. cout << boja << " " << brend << " " << model << endl;
  172. }
  173.  
  174. friend class ParkingPlac;
  175.  
  176.  
  177.  
  178. };
  179.  
  180. int main(){
  181.  
  182. ParkingPlac p[100];
  183. int n,m;
  184. char adresa[50],id[50];
  185. int brojcasovi,cenacas;
  186. cin>>n;
  187. if(n > 0){
  188.  
  189.  
  190. for (int i=0;i<n;i++){
  191. cin.get();
  192. cin.getline(adresa,50);
  193. cin>>id>>cenacas;
  194.  
  195. ParkingPlac edna(adresa,id,cenacas);
  196.  
  197. //povik na operatorot =
  198. p[i]=edna;
  199. }
  200.  
  201. //plakjanje
  202. cin>>m;
  203. for (int i=0;i<m;i++){
  204.  
  205. cin>>id>>brojcasovi;
  206.  
  207. int findId=false;
  208. for (int j=0;j<m;j++){
  209. if (strcmp(p[j].getId(),id)==0){
  210. p[j].platiCasovi(brojcasovi);
  211. findId=true;
  212. }
  213. }
  214. if (!findId)
  215. cout<<"Ne e platen parking. Greshen ID."<<endl;
  216. }
  217.  
  218. cout<<"========="<<endl;
  219. ParkingPlac pCentar("Cvetan Dimov","C10",80);
  220. for (int i=0;i<n;i++)
  221. if (p[i].daliIstaAdresa(pCentar))
  222. p[i].pecati();
  223. } else {
  224.  
  225. ParkingPlac najdobarPlac("Mars", "1337", 1);
  226. int brVozila;
  227. cin >> brVozila;
  228. for(int i = 0; i < brVozila; ++i){
  229.  
  230. char boja[20];
  231. char brend[20];
  232. char model[20];
  233.  
  234. cin >> boja >> brend >> model;
  235. Avtomobil novAvtomobil(boja, brend, model);
  236. najdobarPlac.parkirajVozilo(novAvtomobil);
  237. }
  238. if(brVozila != 0)
  239. najdobarPlac.pecatiParkiraniVozila();
  240.  
  241. }
  242.  
  243.  
  244.  
  245.  
  246. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement