Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<cstring>
- using namespace std;
- // вашиот код
- class Avtomobil {
- private:
- char boja[21];
- char brend[21];
- char model[21];
- public:
- Avtomobil() {}
- Avtomobil(char *bo, char *br, char *m) {
- strcpy(boja, bo);
- strcpy(brend, br);
- strcpy(model, m);
- }
- Avtomobil & operator= (const Avtomobil &vtor) {
- strcpy(boja, vtor.boja);
- strcpy(brend, vtor.brend);
- strcpy(model, vtor.model);
- return *this;
- }
- void pecati() {
- cout<<boja<<" "<<brend<<" "<<model<<endl;
- }
- };
- class ParkingPlac {
- private:
- char adresa[21];
- char *id;
- int cena;
- int profit;
- Avtomobil *parkirani;
- int brojParkirani;
- public:
- ParkingPlac() {}
- ParkingPlac(char *a, char *ID, int c) {
- strcpy(adresa, a);
- id = new char[strlen(ID)];
- strcpy(id, ID);
- cena = c;
- }
- ParkingPlac & operator= (const ParkingPlac &vtor) {
- strcpy(adresa, vtor.adresa);
- cena = vtor.cena;
- profit = vtor.profit;
- brojParkirani = vtor.brojParkirani;
- id = new char[strlen(vtor.id)];
- strcpy(id, vtor.id);
- delete [] parkirani;
- parkirani = new Avtomobil[brojParkirani];
- for(int i=0; i<brojParkirani; i++)
- parkirani[i] = vtor.parkirani[i];
- return *this;
- }
- char *getId() {return id;}
- char *getAdresa() {return adresa;}
- ~ParkingPlac() {
- delete id;
- //delete [] parkirani;
- }
- void pecati() {
- cout<<id<<" "<<adresa;
- if(profit == 0) {
- cout<<endl;
- return;
- }
- cout<<" - "<<profit<<" denari"<<endl;
- }
- void platiCasovi(int casovi) {
- profit += casovi*cena;
- }
- bool daliIstaAdresa(ParkingPlac p) {
- return !strcmp(adresa, p.getAdresa());
- }
- void parkirajVozilo(Avtomobil novoVozilo) {
- brojParkirani++;
- Avtomobil *novi = new Avtomobil[brojParkirani];
- for(int i=0; i<brojParkirani-1; i++)
- novi[i] = parkirani[i];
- novi[brojParkirani-1] = novoVozilo;
- delete [] parkirani;
- parkirani = novi;
- }
- void pecatiParkiraniVozila() {
- cout<<"Vo parkingot se parkirani slednite vozila: "<<endl;
- for(int i=0; i<brojParkirani; i++) {
- cout<<i+1<<".";
- parkirani[i].pecati();
- }
- }
- };
- 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);
- p[i]=edna;
- }
- //plakjanje
- cin>>m;
- for (int i=0;i<m;i++){
- cin>>id>>brojcasovi;
- int findId=false;
- for (int j=0;j<n;j++){ // treba j<n namesto j<m
- 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