Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- //вашиот код
- using namespace std;
- class ParkingPlac
- {
- char adresa[20];
- char *id;
- int cenacas;
- int zarabotka;
- Avtomobil *niza;
- int brparkirani;
- public:
- ParkingPlac()
- {
- strcpy(adresa,"");
- id=new char[0];
- cenacas=0;
- zarabotka=0;
- niza=new Avtomobil[0];
- brparkirani=0;
- }
- ParkingPlac(char *a, char *ID, int cena)
- {
- delete [] id;
- delete [] niza;
- strcpy(adresa,a);
- id=new char[strlen(ID)+1];
- strcpy(id,ID);
- cenacas=cena;
- zarabotka=0;
- brparkirani=0;
- niza=new Avtomobil[brparkirani];
- }
- ParkingPlac(const ParkingPlac &p)
- {
- delete [] id;
- delete [] niza;
- strcpy(adresa,p.adresa);
- id=new char[strlen(p.id)+1];
- strcpy(id,p.id);
- cenacas=p.cenacas;
- zarabotka=p.zarabotka;
- brparkirani=p.brparkirani;
- niza=new Avtomobil[brparkirani];
- for(int i=0;i<brparkirani; i++)
- {
- niza[i]=p.niza[i];
- }
- }
- ParkingPlac &operator=(const ParkingPlac &p)
- {
- delete [] id;
- delete [] niza;
- strcpy(adresa,p.adresa);
- id=new char[strlen(p.id)+1];
- strcpy(id,p.id);
- cenacas=p.cenacas;
- zarabotka=p.zarabotka;
- brparkirani=p.brparkirani;
- niza=new Avtomobil[brparkirani];
- for(int i=0;i<brparkirani; i++)
- {
- niza[i]=p.niza[i];
- }
- return *this;
- }
- char *getId()
- {
- return id;
- }
- void platiCasovi(int casovi)
- {
- zarabotka+=casovi*cenacas;
- }
- bool daliIstaAdresa(ParkingPlac p)
- {
- return (strcmp(adresa,p.adresa)==0);
- }
- void pecati()
- {
- cout << id << " " << adresa << " - " << zarabotka << " denari" << endl;
- }
- void parkirajVozilo(Avtomobil novoVozilo){
- Avtomobil* novaLista = new Avtomobil[brparkirani+1];
- for(int i = 0; i < brparkirani; ++i){
- novaLista[i] = niza[i];
- }
- delete [] niza;
- niza = novaLista;
- niza[brparkirani++] = novoVozilo;
- }
- void pecatiParkiraniVozila(){
- cout << "Vo parkingot se parkirani slednite vozila: " << endl;
- for(int i = 0; i < brparkirani; ++i){
- cout << i+1 << ".";
- niza[i].pecati();
- }
- }
- ~ParkingPlac()
- {
- delete [] id;
- delete [] niza;
- }
- friend class Avtomobil;
- };
- class Avtomobil
- {
- char boja[20];
- char brend[20];
- char model[20];
- public:
- Avtomobil()
- {
- strcpy(boja,"");
- strcpy(brend,"");
- strcpy(model,"");
- }
- Avtomobil(char *b,char *br,char *m)
- {
- strcpy(boja,b);
- strcpy(brend,br);
- strcpy(model,m);
- }
- Avtomobil(const Avtomobil &a)
- {
- strcpy(boja,a.boja);
- strcpy(brend,a.brend);
- strcpy(model,a.model);
- }
- Avtomobil &operator=(const Avtomobil &a)
- {
- strcpy(boja,a.boja);
- strcpy(brend,a.brend);
- strcpy(model,a.model);
- return *this;
- }
- void pecati()
- {
- cout << boja << " " << brend << " " << model << endl;
- }
- friend class ParkingPlac;
- };
- int main(){
- ParkingPlac p[100];
- int n,m;
- char adresa[50],id[50];
- int brojcasovi,cenacas;
- cin>>n;
- if(n > 0){
- for (int i=0;i<n;i++){
- cin.get();
- cin.getline(adresa,50);
- cin>>id>>cenacas;
- ParkingPlac edna(adresa,id,cenacas);
- //povik na operatorot =
- p[i]=edna;
- }
- //plakjanje
- cin>>m;
- for (int i=0;i<m;i++){
- cin>>id>>brojcasovi;
- int findId=false;
- for (int j=0;j<m;j++){
- if (strcmp(p[j].getId(),id)==0){
- p[j].platiCasovi(brojcasovi);
- findId=true;
- }
- }
- if (!findId)
- cout<<"Ne e platen parking. Greshen ID."<<endl;
- }
- cout<<"========="<<endl;
- ParkingPlac pCentar("Cvetan Dimov","C10",80);
- for (int i=0;i<n;i++)
- if (p[i].daliIstaAdresa(pCentar))
- p[i].pecati();
- } else {
- ParkingPlac najdobarPlac("Mars", "1337", 1);
- int brVozila;
- cin >> brVozila;
- for(int i = 0; i < brVozila; ++i){
- char boja[20];
- char brend[20];
- char model[20];
- cin >> boja >> brend >> model;
- Avtomobil novAvtomobil(boja, brend, model);
- najdobarPlac.parkirajVozilo(novAvtomobil);
- }
- if(brVozila != 0)
- najdobarPlac.pecatiParkiraniVozila();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement