Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class ParkingPlac
- {
- private:
- char adresa[20];
- char *identifikacija;
- int cena;
- int zarabotka;
- public:
- ParkingPlac(char *adresa1=0,char *identifikacija1=0,int cena1=0)
- {
- strcpy(adresa,adresa1);
- identifikacija=new char[strlen(identifikacija1)+1];
- strcpy(identifikacija,identifikacija1);
- cena=cena1;
- zarabotka=0;
- }
- ParkingPlac(const ParkingPlac &p)
- {
- strcpy(adresa,p.adresa);
- cena=p.cena;
- zarabotka=p.zarabotka;
- identifikacija=new char[(strlen(p.identifikacija))+1];
- strcpy(identifikacija,p.identifikacija);
- }
- ~ParkingPlac()
- {
- delete [] identifikacija;
- }
- char * getadresa()
- {
- return adresa;
- }
- char * getidentifikacija()
- {
- return identifikacija;
- }
- int getcena()
- {
- return cena;
- }
- int getzarabotka()
- {
- return zarabotka;
- }
- void pecati()
- {
- cout<<identifikacija<<" "<<adresa;
- if(zarabotka!=0)
- cout<<" - "<<zarabotka<<endl;
- }
- void platicasovi(int casovi)
- {
- zarabotka=zarabotka+casovi*cena;
- }
- bool daliIst(ParkingPlac p)
- {
- if(strcmp(identifikacija,p.identifikacija)==0)
- return true;
- return false;
- }
- ParkingPlac & operator=(const ParkingPlac &p)
- {
- if(this!=&p)
- {
- strcpy(adresa,p.adresa);
- cena=p.cena;
- zarabotka=p.zarabotka;
- delete [] identifikacija;
- identifikacija=new char[strlen(p.identifikacija)+1];
- strcpy(identifikacija,p.identifikacija);
- }
- return *this;
- }
- };
- class PretprijatieParking
- {
- private:
- char ime[35];
- ParkingPlac *parking;
- int br;
- public:
- PretprijatieParking(char *ime=0,ParkingPlac *p=0,int br=0)
- {
- strcpy(this->ime,ime);
- this->br=br;
- parking=new ParkingPlac[br];
- for(int i=0;i<br;i++)
- parking[i]=p[i];
- }
- PretprijatieParking(const PretprijatieParking &p)
- {
- strcpy(ime,p.ime);
- br=p.br;
- parking=new ParkingPlac[br];
- for(int i=0;i<br;i++)
- parking[i]=p.parking[i];
- }
- ~PretprijatieParking()
- {
- delete [] parking;
- }
- bool platiParking(char id[],int brojcasovi)
- {
- for(int i=0;i<br;i++)
- {
- if(strcmp(id,parking[i].getidentifikacija())==0)
- {
- parking[i].platicasovi(brojcasovi);
- return true;
- }
- }
- return false;
- }
- void dodadiParkingPlac(ParkingPlac &p)
- {
- ParkingPlac *pom;
- pom=new ParkingPlac[br+1];
- for(int i=0;i<br;i++)
- pom[i]=parking[i];
- delete [] parking;
- parking=pom;
- }
- void pecati()
- {
- cout<<"Direktor :"<<ime<<endl;
- for(int i=0;i<br;i++)
- parking[i].pecati();
- }
- };
- int main()
- {
- PretprijatieParking gradski("Mirko Mirkovski");
- int n;
- char adresa[50],id[50];
- int brojcasovi,cenacas;
- cin>>n;
- for (int i=0;i<n;i++)
- {
- cin.get();
- cin.getline(adresa,50);
- cin>>id>>cenacas;
- ParkingPlac edna(adresa,id,cenacas);
- gradski.dodadiParkingPlac(edna);
- }
- cin>>n;
- for (int i=0;i<n;i++)
- {
- cin>>id>>brojcasovi;
- if(!gradski.platiParking(id,brojcasovi))
- cout<<"Ne e platen parking. Greshen ID."<<endl;
- }
- cout<<"========="<<endl;
- gradski.pecati();
Advertisement
Add Comment
Please, Sign In to add comment