Advertisement
HeatPulse

Koncerti

May 19th, 2019
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.50 KB | None | 0 0
  1. Концерти Problem 8 (0 / 0)
  2. Да се креира класа за опишување на концерти. За еден концерт се чуваат информации за (5 поени):
  3.  
  4. ● назив (низа од најмногу 20 знаци)
  5.  
  6. ● локација (низа од најмногу 20 знаци)
  7.  
  8. ● сезонски попуст (реален број)
  9.  
  10. ● цена на билет во денари (децимален број)
  11.  
  12. Сите податоци во класата треба да се приватни. Сезонскиот попуст е ист за сите концерти и може да се менува од страна на менаџерите во зависност од сезоната. За таа цел да се обезбеди функција за менување на сезонскиот попуст. Сезонскиот попуст е изразен во проценти и почетната вредност е 20 проценти. (5 поени)
  13.  
  14. Основната цена на еден билет за концерт се пресметува со методот:
  15.  
  16. ● cena() – која ја враќа цената со сезонскиот попуст (5 поени)
  17.  
  18. За потребите на еден летен фестивал, треба да се обезбедат посебен вид на забавни концерти, електронски концерти. За секој eлектронски концерт дополнително се чуваат инфромации за името на DJ-от(динамички алоцирана низа од знаци), времетраење на настапот во часови (реален број) и логичка променлива за дали се работи за дневна или ноќна забава (дневна-true/ноќна-false). (5 поени)
  19.  
  20. За секој електронски концерт треба да биде на располагање метод за пресметување на цената за билет (5 поени):
  21.  
  22. ● cena() - основната цена се зголемува во зависност од времетраењето на електронскиот концерт. Ако времетраењето на концертот е подолго од 5 часа, основната цена се зголемува за 150 денари. Ако времетраењето е подолго од 7 часа, цената се зголемува за 360 денари. Доколку се работи за дневна забава, цената се намалува за 50, а доколку се работи за ноќна забава цената се зголемува за 100 денари.
  23.  
  24. Да се имплементираат следните функции:
  25.  
  26. · void najskapKoncert(Koncert ** koncerti, int n) – во која ќе се испечати називот и цената на најскапиот концерт во низата. Дополнително, да се испечати и колку од концертите се електронски, а колку не во формат:
  27.  
  28. [Електронски концерти: X од вкупно Y.] (10 поени)
  29. · bool prebarajKoncert(Koncert ** koncerti, int n, char * naziv, bool elektronski) – во која ќе се прабарува концерт кој имаат ист назив како променливата naziv. Доколку променливата elektronski е true, треба да се пребарува само низ електронските концерти, во спротивно се пребаруваат сите концерти. Доколку е пронајден концертот, се печати неговиот назив и цена и функцијата враќа true. Доколку не е пронајден концертот, функцијата враќа false. Можно е да има повеќе концерти со ист назив. (10 поени)
  30.  
  31. int main(){
  32.  
  33. int tip,n,novaCena;
  34. char naziv[100], lokacija[100], imeDJ[40];
  35. bool dnevna;
  36. float cenaBilet, novPopust;
  37. float casovi;
  38.  
  39. cin>>tip;
  40. if (tip==1){//Koncert
  41. cin>>naziv>>lokacija>>cenaBilet;
  42. Koncert k1(naziv,lokacija,cenaBilet);
  43. cout<<"Kreiran e koncert so naziv: "<<k1.getNaziv()<<endl;
  44. }
  45. else if (tip==2){//cena - Koncert
  46. cin>>naziv>>lokacija>>cenaBilet;
  47. Koncert k1(naziv,lokacija,cenaBilet);
  48. cout<<"Osnovna cena na koncertot so naziv "<<k1.getNaziv()<< " e: " <<k1.cena()<<endl;
  49. }
  50. else if (tip==3){//ElektronskiKoncert
  51. cin>>naziv>>lokacija>>cenaBilet>>imeDJ>>casovi>>dnevna;
  52. ElektronskiKoncert s(naziv,lokacija,cenaBilet,imeDJ,casovi,dnevna);
  53. cout<<"Kreiran e elektronski koncert so naziv "<<s.getNaziv()<<" i sezonskiPopust "<<s.getSezonskiPopust()<<endl;
  54. }
  55. else if (tip==4){//cena - ElektronskiKoncert
  56. cin>>naziv>>lokacija>>cenaBilet>>imeDJ>>casovi>>dnevna;
  57. ElektronskiKoncert s(naziv,lokacija,cenaBilet,imeDJ,casovi,dnevna);
  58. cout<<"Cenata na elektronskiot koncert so naziv "<<s.getNaziv()<<" e: "<<s.cena()<<endl;
  59. }
  60. else if (tip==5) {//najskapKoncert
  61.  
  62. }
  63. else if (tip==6) {//prebarajKoncert
  64. Koncert ** koncerti = new Koncert *[5];
  65. int n;
  66. koncerti[0] = new Koncert("Area","BorisTrajkovski",350);
  67. koncerti[1] = new ElektronskiKoncert("TomorrowLand","Belgium",8000,"Afrojack",7.5,false);
  68. koncerti[2] = new ElektronskiKoncert("SeaDance","Budva",9100,"Tiesto",5,true);
  69. koncerti[3] = new Koncert("Superhiks","PlatoUkim",100);
  70. koncerti[4] = new ElektronskiKoncert("CavoParadiso","Mykonos",8800,"Guetta",3,true);
  71. char naziv[100];
  72. najskapKoncert(koncerti,5);
  73. }
  74. else if (tip==7){//prebaraj
  75. Koncert ** koncerti = new Koncert *[5];
  76. int n;
  77. koncerti[0] = new Koncert("Area","BorisTrajkovski",350);
  78. koncerti[1] = new ElektronskiKoncert("TomorrowLand","Belgium",8000,"Afrojack",7.5,false);
  79. koncerti[2] = new ElektronskiKoncert("SeaDance","Budva",9100,"Tiesto",5,true);
  80. koncerti[3] = new Koncert("Superhiks","PlatoUkim",100);
  81. koncerti[4] = new ElektronskiKoncert("CavoParadiso","Mykonos",8800,"Guetta",3,true);
  82. char naziv[100];
  83. bool elektronski;
  84. cin>>elektronski;
  85. if(prebarajKoncert(koncerti,5, "Area",elektronski))
  86. cout<<"Pronajden"<<endl;
  87. else cout<<"Ne e pronajden"<<endl;
  88.  
  89. if(prebarajKoncert(koncerti,5, "Area",!elektronski))
  90. cout<<"Pronajden"<<endl;
  91. else cout<<"Ne e pronajden"<<endl;
  92.  
  93. }
  94. else if (tip==8){//smeni cena
  95. Koncert ** koncerti = new Koncert *[5];
  96. int n;
  97. koncerti[0] = new Koncert("Area","BorisTrajkovski",350);
  98. koncerti[1] = new ElektronskiKoncert("TomorrowLand","Belgium",8000,"Afrojack",7.5,false);
  99. koncerti[2] = new ElektronskiKoncert("SeaDance","Budva",9100,"Tiesto",5,true);
  100. koncerti[3] = new Koncert("Superhiks","PlatoUkim",100);
  101. koncerti[2] -> setSezonskiPopust(0.9);
  102. najskapKoncert(koncerti,4);
  103. }
  104.  
  105. return 0;
  106. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement