Advertisement
Guest User

forum.it.mk

a guest
Jan 22nd, 2019
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.58 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5.  
  6.  
  7. class Koncert {
  8. private:
  9.     char ime[20];
  10.     char lokacija[20];
  11.     static float sezonskiPopust;
  12.     float cenaBilet; //vo denari
  13.    
  14. public:
  15.     Koncert(){}// default constructor
  16.     Koncert(char *ime, char *lokacija, float sezonskiPopust, float cenaBilet)
  17.     {
  18.         strcpy(this->ime,ime);
  19.         strcpy(this->lokacija,lokacija);
  20.         sezonskiPopust=sezonskiPopust;
  21.         cenaBilet=cenaBilet;
  22.     }
  23.    
  24.     static void setSezonskiPopust(float popust)
  25.     {sezonskiPopust=popust;}
  26.    
  27.     static float getSezonskiPopust()
  28.     {return sezonskiPopust;}
  29.    
  30.     float getCenaBilet()
  31.     {return cenaBilet;}
  32.    
  33.     char *getNaziv()
  34.     {return ime;}
  35.    
  36.     char *getLokacija()
  37.     {return lokacija;}
  38.    
  39.     void setCenaBilet(int cena)
  40.     {return cenaBilet=cena;}
  41.    
  42.     void setNaziv(char *novNaziv) //bidejki e char se koristi strcpy
  43.     {strcpy(ime, novNaziv);}
  44.    
  45.     void setLokacija(char *novaLokacija)
  46.     {strcpy(lokacija=novaLokacija);}    
  47.  
  48.     virtual float cena()
  49.     {return cenaBilet- cenaBilet*sezonskiPopust;}
  50. };
  51.  
  52. class ElektronskiKoncert:public Koncert
  53. {
  54.     private:
  55.     char *dj;
  56.     float vremetraenje;//vo saati
  57.     bool daliDen;// den true nokj false
  58.     public:
  59.     ElektronskiKoncert()
  60.     {
  61.         this->dj=new char[0];
  62.     }
  63.     ElektronskiKoncert(char *ime, char *lokacija, float cenaBilet, char *dj, float vremetraenje, bool daliDen):Koncert(ime,lokacija,cenaBilet)
  64.     {
  65.         this->dj= new char[strlen(dj)+1];
  66.         strcpy(this->dj,dj);
  67.         this->vremetraenje=vremetraenje;
  68.         this->daliDen=daliDen;
  69.     }
  70.     ~ElektronskiKoncert()
  71.     {delete [] dj;}
  72.    
  73.     float cena()
  74.     {
  75.         float vkupno=Koncert::cena();
  76.        
  77.         if(vremetraenje>7.0){
  78.             vkupno +=360;
  79.         } else if(vremetraenje>5.0){
  80.             vkupno +=150;
  81.         }
  82.         if (daliDen)
  83.         {
  84.             vkupno-=50.0;
  85.         } else {
  86.             vkupno +=100.0;
  87.         }
  88.         return vkupno;
  89.     }
  90. };
  91.  
  92.  void najskapKoncert(Koncert ** koncerti, int n)   // OVOJ DEL NE MI E JASEN
  93.  {
  94.    
  95.      
  96.  }
  97.  
  98.  
  99.  
  100. int main(){
  101.  
  102.     int tip,n,novaCena;
  103.     char naziv[100], lokacija[100], imeDJ[40];
  104.     bool dnevna;
  105.     float cenaBilet, novPopust;
  106.     float casovi;
  107.  
  108.         cin>>tip;
  109.         if (tip==1){//Koncert
  110.             cin>>naziv>>lokacija>>cenaBilet;
  111.             Koncert k1(naziv,lokacija,cenaBilet);
  112.             cout<<"Kreiran e koncert so naziv: "<<k1.getNaziv()<<endl;
  113.         }
  114.         else if (tip==2){//cena - Koncert
  115.             cin>>naziv>>lokacija>>cenaBilet;
  116.             Koncert k1(naziv,lokacija,cenaBilet);
  117.             cout<<"Osnovna cena na koncertot so naziv "<<k1.getNaziv()<< " e: " <<k1.cena()<<endl;
  118.         }
  119.         else if (tip==3){//ElektronskiKoncert
  120.             cin>>naziv>>lokacija>>cenaBilet>>imeDJ>>casovi>>dnevna;
  121.             ElektronskiKoncert s(naziv,lokacija,cenaBilet,imeDJ,casovi,dnevna);
  122.             cout<<"Kreiran e elektronski koncert so naziv "<<s.getNaziv()<<" i sezonskiPopust "<<s.getSezonskiPopust()<<endl;
  123.         }
  124.         else if (tip==4){//cena - ElektronskiKoncert
  125.              cin>>naziv>>lokacija>>cenaBilet>>imeDJ>>casovi>>dnevna;
  126.              ElektronskiKoncert s(naziv,lokacija,cenaBilet,imeDJ,casovi,dnevna);
  127.              cout<<"Cenata na elektronskiot koncert so naziv "<<s.getNaziv()<<" e: "<<s.cena()<<endl;
  128.         }
  129.         else if (tip==5) {//najskapKoncert
  130.  
  131.         }
  132.         else if (tip==6) {//prebarajKoncert
  133.             Koncert ** koncerti = new Koncert *[5];
  134.             int n;
  135.             koncerti[0] = new Koncert("Area","BorisTrajkovski",350);
  136.             koncerti[1] = new ElektronskiKoncert("TomorrowLand","Belgium",8000,"Afrojack",7.5,false);
  137.             koncerti[2] = new ElektronskiKoncert("SeaDance","Budva",9100,"Tiesto",5,true);
  138.             koncerti[3] = new Koncert("Superhiks","PlatoUkim",100);
  139.             koncerti[4] = new ElektronskiKoncert("CavoParadiso","Mykonos",8800,"Guetta",3,true);
  140.             char naziv[100];
  141.             najskapKoncert(koncerti,5);
  142.         }
  143.         else if (tip==7){//prebaraj
  144.               Koncert ** koncerti = new Koncert *[5];
  145.             int n;
  146.             koncerti[0] = new Koncert("Area","BorisTrajkovski",350);
  147.             koncerti[1] = new ElektronskiKoncert("TomorrowLand","Belgium",8000,"Afrojack",7.5,false);
  148.             koncerti[2] = new ElektronskiKoncert("SeaDance","Budva",9100,"Tiesto",5,true);
  149.             koncerti[3] = new Koncert("Superhiks","PlatoUkim",100);
  150.             koncerti[4] = new ElektronskiKoncert("CavoParadiso","Mykonos",8800,"Guetta",3,true);
  151.             char naziv[100];
  152.             bool elektronski;
  153.             cin>>elektronski;
  154.             if(prebarajKoncert(koncerti,5, "Area",elektronski))
  155.                 cout<<"Pronajden"<<endl;
  156.             else cout<<"Ne e pronajden"<<endl;
  157.  
  158.             if(prebarajKoncert(koncerti,5, "Area",!elektronski))
  159.                 cout<<"Pronajden"<<endl;
  160.             else cout<<"Ne e pronajden"<<endl;
  161.  
  162.         }
  163.         else if (tip==8){//smeni cena
  164.               Koncert ** koncerti = new Koncert *[5];
  165.             int n;
  166.             koncerti[0] = new Koncert("Area","BorisTrajkovski",350);
  167.             koncerti[1] = new ElektronskiKoncert("TomorrowLand","Belgium",8000,"Afrojack",7.5,false);
  168.             koncerti[2] = new ElektronskiKoncert("SeaDance","Budva",9100,"Tiesto",5,true);
  169.             koncerti[3] = new Koncert("Superhiks","PlatoUkim",100);
  170.             koncerti[2] -> setSezonskiPopust(0.9);
  171.             najskapKoncert(koncerti,4);
  172.         }
  173.  
  174.     return 0;
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement