Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. Транспорт
- // вашиот код треба да биде тука
- #include <iostream>
- #include <cstring>
- using namespace std;
- class Transport
- {
- protected:
- char destinacija[30];
- int osnovnaCena;
- int rastojanie;
- public:
- Transport(){}
- Transport(char destinacija[],int osnovnaCena,int rastojanie)
- {
- strcpy(this->destinacija,destinacija);
- this->osnovnaCena = osnovnaCena;
- this->rastojanie = rastojanie;
- }
- void setDestinacija(char destinacija[])
- {
- strcpy(this->destinacija,destinacija);
- }
- void setOsnovnaCena(int osnovnaCena)
- {
- this->osnovnaCena = osnovnaCena;
- }
- char* getDestinacija()
- {
- return destinacija;
- }
- int getRastojanie()
- {
- return rastojanie;
- }
- //virtual cenaTransport() = 0;
- virtual int cenaTransport()
- {
- return osnovnaCena;
- }
- bool operator < (Transport &t)
- {
- return this->rastojanie < t.rastojanie;
- }
- ~Transport(){}
- };
- class AvtomobilTransport : public Transport
- {
- private:
- bool sofer;
- public:
- AvtomobilTransport(){}
- AvtomobilTransport(char destinacija[],int osnovnaCena,int rastojanie,bool sofer): Transport(destinacija,osnovnaCena,rastojanie)
- {
- this->sofer = sofer;
- }
- int cenaTransport()
- {
- int c = Transport::cenaTransport();
- if(sofer)
- {
- c = c + c*20/100;
- }
- return c;
- }
- ~AvtomobilTransport(){}
- };
- class KombeTransport : public Transport
- {
- private:
- int brPatnici;
- public:
- KombeTransport(){}
- KombeTransport(char destinacija[],int osnovnaCena,int rastojanie,int brPatnici): Transport(destinacija,osnovnaCena,rastojanie)
- {
- this->brPatnici = brPatnici;
- }
- int cenaTransport()
- {
- int c = Transport::cenaTransport();
- c = c - (200 * brPatnici);
- return c;
- }
- ~KombeTransport(){}
- };
- void pecatiPoloshiPonudi(Transport **ponudi,int n,AvtomobilTransport &T)
- {
- int br=0;
- for(int i=0;i<n;i++)
- {
- if(ponudi[i]->cenaTransport()>T.cenaTransport())
- br++;
- }
- int j=0;
- Transport **temp = new Transport *[br];
- for(int i=0;i<n;i++)
- {
- if(ponudi[i]->cenaTransport()>T.cenaTransport())
- {
- temp[j] = ponudi[i];
- j++;
- }
- }
- Transport *pom;
- for(int i=0;i<br;i++)
- {
- for(int j=0;j<br-1-i;j++)
- {
- if(temp[j]->cenaTransport()>temp[j+1]->cenaTransport())
- {
- pom = temp[j];
- temp[j] = temp[j+1];
- temp[j+1] = pom;
- }
- }
- }
- for(int i=0;i<n;i++)
- {
- cout<<temp[i]->getDestinacija()<<" "<<temp[i]->getRastojanie()<<" "<<temp[i]->cenaTransport()<<endl;
- }
- }
- int main(){
- char destinacija[20];
- int tip,cena,rastojanie,lugje;
- bool shofer;
- int n;
- cin>>n;
- Transport **ponudi;
- ponudi=new Transport *[n];
- for (int i=0;i<n;i++){
- cin>>tip>>destinacija>>cena>>rastojanie;
- if (tip==1) {
- cin>>shofer;
- ponudi[i]=new AvtomobilTransport(destinacija,cena,rastojanie,shofer);
- }
- else {
- cin>>lugje;
- ponudi[i]=new KombeTransport(destinacija,cena,rastojanie,lugje);
- }
- }
- AvtomobilTransport nov("Ohrid",2000,600,false);
- pecatiPoloshiPonudi(ponudi,n,nov);
- for (int i=0;i<n;i++) delete ponudi[i];
- delete [] ponudi;
- return 0;
- }
- 2. Демонстратор 1
- #include<iostream>
- #include<string.h>
- using namespace std;
- class Kurs {
- private:
- char ime[20];
- int krediti;
- public:
- Kurs (char *ime,int krediti) {
- strcpy(this->ime,ime);
- this->krediti=krediti;
- }
- Kurs () {
- strcpy(this->ime,"");
- krediti=0;
- }
- bool operator==(const char *ime) const {
- return strcmp(this->ime,ime)==0;
- }
- char const * getIme()const {
- return ime;
- }
- void pecati ()const {
- cout<<ime<<" "<<krediti<<"ECTS";
- }
- };
- class Student {
- private:
- int *ocenki;
- int brojOcenki;
- protected:
- int indeks;
- public:
- Student(int indeks,int *ocenki, int brojOcenki) {
- this->indeks=indeks;
- this->brojOcenki=brojOcenki;
- this->ocenki=new int[brojOcenki];
- for (int i=0; i<brojOcenki; i++) this->ocenki[i]=ocenki[i];
- }
- Student(const Student &k) {
- this->indeks=k.indeks;
- this->brojOcenki=k.brojOcenki;
- this->ocenki=new int[k.brojOcenki];
- for (int i=0; i<k.brojOcenki; i++) this->ocenki[i]=k.ocenki[i];
- }
- Student operator=(const Student &k) {
- if (&k==this) return *this;
- this->indeks=k.indeks;
- this->brojOcenki=k.brojOcenki;
- delete [] ocenki;
- this->ocenki=new int[k.brojOcenki];
- for (int i=0; i<k.brojOcenki; i++) this->ocenki[i]=k.ocenki[i];
- return *this;
- }
- ~Student() {
- delete [] ocenki;
- }
- //dopolni ja klasata
- virtual int getBodovi() {
- double count = 0;
- for (int i=0; i<brojOcenki; i++) {
- if (ocenki[i]>5)
- count++;
- }
- return (int) (count/brojOcenki*100.00);
- }
- virtual void pecati() {
- cout<<indeks<<endl;
- }
- };
- class Predavach {
- private:
- Kurs kursevi[10];
- int brojKursevi;
- protected:
- char *imeIPrezime;
- public:
- Predavach(char *imeIPrezime,Kurs *kursevi,int brojKursevi) {
- this->brojKursevi=brojKursevi;
- for (int i=0; i<brojKursevi; i++) this->kursevi[i]=kursevi[i];
- this->imeIPrezime=new char[strlen(imeIPrezime)+1];
- strcpy(this->imeIPrezime,imeIPrezime);
- }
- Predavach(const Predavach &p) {
- this->brojKursevi=p.brojKursevi;
- for (int i=0; i<p.brojKursevi; i++) this->kursevi[i]=p.kursevi[i];
- this->imeIPrezime=new char[strlen(p.imeIPrezime)+1];
- strcpy(this->imeIPrezime,p.imeIPrezime);
- }
- Predavach operator=(const Predavach &p) {
- if (this==&p) return *this;
- this->brojKursevi=p.brojKursevi;
- for (int i=0; i<p.brojKursevi; i++) this->kursevi[i]=p.kursevi[i];
- this->imeIPrezime=new char[strlen(p.imeIPrezime)+1];
- delete [] imeIPrezime;
- strcpy(this->imeIPrezime,p.imeIPrezime);
- return *this;
- }
- ~Predavach() {
- delete [] imeIPrezime;
- }
- int getBrojKursevi()const {
- return brojKursevi;
- }
- Kurs getKursevi(int n){
- return kursevi[n];
- }
- char * const getImeIPrezime()const {
- return imeIPrezime;
- }
- Kurs operator[](int i) const {
- if (i<brojKursevi&&i>=0)
- return kursevi[i];
- else return Kurs();
- }
- void pecati() const {
- cout<<imeIPrezime<<" (";
- for (int i=0; i<brojKursevi; i++) {
- kursevi[i].pecati();
- if (i<brojKursevi-1) cout<<", ";
- else cout<<")";
- }
- }
- };
- //mesto za vashiot kod
- class NoCourseException {
- private:
- int indeks;
- public:
- NoCourseException(int index) {
- this->indeks=index;
- }
- void message() {
- cout<<"Demonstratorot so indeks "<<indeks<<" ne drzi laboratoriski vezbi"<<endl;
- }
- };
- class Demonstrator : public Predavach, public Student {
- private:
- int brojchasovi;
- public:
- Demonstrator (int indeks,int * ocenki,int brojOcenki,char * imeIPrezime,Kurs * kursevi,int brojKursevi,int brojCasovi)
- : Predavach(imeIPrezime,kursevi,brojKursevi), Student(indeks,ocenki,brojOcenki) {
- this->brojchasovi = brojCasovi;
- }
- Demonstrator (const Demonstrator &d) : Predavach(d), Student(d) {
- }
- int getBodovi() {
- if (getBrojKursevi()==0)
- throw NoCourseException(indeks);
- int bodovi = Student::getBodovi();
- bodovi += (20*brojchasovi) / getBrojKursevi();
- return bodovi;
- }
- void pecati() {
- cout<<indeks<<": "<<imeIPrezime<<" (";
- for (int i=0; i<getBrojKursevi(); i++) {
- getKursevi(i).pecati();
- if (i==getBrojKursevi()-1)
- cout<<")";
- else
- cout<<", ";
- }
- }
- };
- Student & vratiNajdobroRangiran (Student ** studenti, int n) {
- Student * max = studenti[0];
- for (int i=1; i<n; i++) {
- Demonstrator * dem = dynamic_cast<Demonstrator *>(studenti[i]);
- try {
- if (studenti[i]->getBodovi()>max->getBodovi())
- max=studenti[i];
- } catch (NoCourseException &e) {
- e.message();
- }
- }
- return (*max);
- }
- void pecatiDemonstratoriKurs (char* kurs, Student** studenti, int n) {
- for (int i=0; i<n; i++) {
- Demonstrator * dem = dynamic_cast<Demonstrator *> (studenti[i]);
- if (dem) {
- for (int j=0; j<dem->getBrojKursevi(); j++) {
- Predavach p = (Predavach) (*dem);
- if (p[j]==kurs) {
- studenti[i]->pecati();
- cout<<endl;
- break;
- }
- }
- }
- }
- }
- int main() {
- Kurs kursevi[10];
- int indeks,brojKursevi, ocenki[20],ocenka,brojOcenki,tip,brojCasovi,krediti;
- char ime[20],imeIPrezime[50];
- cin>>tip;
- if (tip==1) { //test class Demonstrator
- cout<<"-----TEST Demonstrator-----"<<endl;
- cin>>indeks>>brojOcenki;
- for (int i=0; i<brojOcenki; i++) {
- cin>>ocenka;
- ocenki[i]=ocenka;
- }
- cin>>imeIPrezime>>brojKursevi;
- for (int i=0; i<brojKursevi; i++) {
- cin>>ime>>krediti;
- kursevi[i]=Kurs(ime,krediti);
- }
- cin>>brojCasovi;
- Demonstrator d(indeks,ocenki,brojOcenki,imeIPrezime,kursevi,brojKursevi,brojCasovi);
- cout<<"Objekt od klasata Demonstrator e kreiran";
- } else if (tip==2) { //funkcija pecati vo Student
- cout<<"-----TEST pecati-----"<<endl;
- cin>>indeks>>brojOcenki;
- for (int i=0; i<brojOcenki; i++) {
- cin>>ocenka;
- ocenki[i]=ocenka;
- }
- Student s(indeks,ocenki,brojOcenki);
- s.pecati();
- } else if (tip==3) { //funkcija getVkupnaOcenka vo Student
- cout<<"-----TEST getVkupnaOcenka-----"<<endl;
- cin>>indeks>>brojOcenki;
- for (int i=0; i<brojOcenki; i++) {
- cin>>ocenka;
- ocenki[i]=ocenka;
- }
- Student s(indeks,ocenki,brojOcenki);
- cout<<"Broj na bodovi: "<<s.getBodovi()<<endl;
- } else if (tip==4) { //funkcija getVkupnaOcenka vo Demonstrator
- cout<<"-----TEST getVkupnaOcenka-----"<<endl;
- cin>>indeks>>brojOcenki;
- for (int i=0; i<brojOcenki; i++) {
- cin>>ocenka;
- ocenki[i]=ocenka;
- }
- cin>>imeIPrezime>>brojKursevi;
- for (int i=0; i<brojKursevi; i++) {
- cin>>ime>>krediti;
- kursevi[i]=Kurs(ime,krediti);
- }
- cin>>brojCasovi;
- Demonstrator d(indeks,ocenki,brojOcenki,imeIPrezime,kursevi,brojKursevi,brojCasovi);
- cout<<"Broj na bodovi: "<<d.getBodovi()<<endl;
- } else if (tip==5) { //funkcija pecati vo Demonstrator
- cout<<"-----TEST pecati -----"<<endl;
- cin>>indeks>>brojOcenki;
- for (int i=0; i<brojOcenki; i++) {
- cin>>ocenka;
- ocenki[i]=ocenka;
- }
- cin>>imeIPrezime>>brojKursevi;
- for (int i=0; i<brojKursevi; i++) {
- cin>>ime>>krediti;
- kursevi[i]=Kurs(ime,krediti);
- }
- cin>>brojCasovi;
- Demonstrator d(indeks,ocenki,brojOcenki,imeIPrezime,kursevi,brojKursevi,brojCasovi);
- d.pecati();
- } else if (tip==6) { //site klasi
- cout<<"-----TEST Student i Demonstrator-----"<<endl;
- cin>>indeks>>brojOcenki;
- for (int i=0; i<brojOcenki; i++) {
- cin>>ocenka;
- ocenki[i]=ocenka;
- }
- cin>>imeIPrezime>>brojKursevi;
- for (int i=0; i<brojKursevi; i++) {
- cin>>ime>>krediti;
- kursevi[i]=Kurs(ime,krediti);
- }
- cin>>brojCasovi;
- Student *s=new Demonstrator(indeks,ocenki,brojOcenki,imeIPrezime,kursevi,brojKursevi,brojCasovi);
- s->pecati();
- cout<<"\nBroj na bodovi: "<<s->getBodovi()<<endl;
- delete s;
- } else if (tip==7) { //funkcija vratiNajdobroRangiran
- cout<<"-----TEST vratiNajdobroRangiran-----"<<endl;
- int k, opt;
- cin>>k;
- Student **studenti=new Student*[k];
- for (int j=0; j<k; j++) {
- cin>>opt; //1 Student 2 Demonstrator
- cin>>indeks>>brojOcenki;
- for (int i=0; i<brojOcenki; i++) {
- cin>>ocenka;
- ocenki[i]=ocenka;
- }
- if (opt==1) {
- studenti[j]=new Student(indeks,ocenki,brojOcenki);
- } else {
- cin>>imeIPrezime>>brojKursevi;
- for (int i=0; i<brojKursevi; i++) {
- cin>>ime>>krediti;
- kursevi[i]=Kurs(ime,krediti);
- }
- cin>>brojCasovi;
- studenti[j]=new Demonstrator(indeks,ocenki,brojOcenki,imeIPrezime,kursevi,brojKursevi,brojCasovi);
- }
- }
- Student& najdobar=vratiNajdobroRangiran(studenti,k);
- cout<<"Maksimalniot broj na bodovi e:"<<najdobar.getBodovi();
- cout<<"\nNajdobro rangiran:";
- najdobar.pecati();
- for (int j=0; j<k; j++) delete studenti[j];
- delete [] studenti;
- } else if (tip==8) { //funkcija pecatiDemonstratoriKurs
- cout<<"-----TEST pecatiDemonstratoriKurs-----"<<endl;
- int k, opt;
- cin>>k;
- Student **studenti=new Student*[k];
- for (int j=0; j<k; j++) {
- cin>>opt; //1 Student 2 Demonstrator
- cin>>indeks>>brojOcenki;
- for (int i=0; i<brojOcenki; i++) {
- cin>>ocenka;
- ocenki[i]=ocenka;
- }
- if (opt==1) {
- studenti[j]=new Student(indeks,ocenki,brojOcenki);
- } else {
- cin>>imeIPrezime>>brojKursevi;
- for (int i=0; i<brojKursevi; i++) {
- cin>>ime>>krediti;
- kursevi[i]=Kurs(ime,krediti);
- }
- cin>>brojCasovi;
- studenti[j]=new Demonstrator(indeks,ocenki,brojOcenki,imeIPrezime,kursevi,brojKursevi,brojCasovi);
- }
- }
- char kurs[20];
- cin>>kurs;
- cout<<"Demonstratori na "<<kurs<<" se:"<<endl;
- pecatiDemonstratoriKurs (kurs,studenti,k);
- for (int j=0; j<k; j++) delete studenti[j];
- delete [] studenti;
- }
- return 0;
- }
- 3. Возач
- // vashiot kod ovde
- #include <iostream>
- #include <cstring>
- using namespace std;
- class Vozac{
- protected:
- char ime[100];
- int vozrast;
- int brtrki;
- bool veteran;
- public:
- Vozac(){}
- Vozac(char *i,int v,int b,bool vet){
- strcpy(ime,i);
- vozrast=v;
- brtrki=b;
- veteran=vet;
- }
- virtual float zarabotuvacka()=0;
- virtual float danok()=0;
- friend ostream& operator<<(ostream &out,Vozac &v){
- out<<v.ime<<endl;
- out<<v.vozrast<<endl;
- out<<v.brtrki<<endl;
- if(v.veteran){
- out<<"VETERAN"<<endl;
- }
- return out;
- }
- bool operator==(Vozac &v){
- if(v.zarabotuvacka()==zarabotuvacka())return true;
- else return false;
- }
- };
- class Avtomobilist:public Vozac{
- private:
- float cenaavto;
- public:
- Avtomobilist(char *ime,int vozrast,int brtrki,bool veteran,float ca):Vozac(ime,vozrast,brtrki,veteran){
- cenaavto=ca;
- }
- float zarabotuvacka(){
- return cenaavto/5;
- }
- float danok(){
- if(brtrki>10){
- return 15*zarabotuvacka()/100;
- }
- else
- return 10*zarabotuvacka()/100;
- }
- };
- class Motociklist:public Vozac{
- private:
- int moknost;
- public:
- Motociklist(char *ime,int vozrast,int brtrki,bool veteran,int m):Vozac(ime,vozrast,brtrki,veteran){
- moknost=m;
- }
- float zarabotuvacka(){
- return moknost*20;
- }
- float danok(){
- if(veteran){
- return 25*zarabotuvacka()/100;
- }
- else
- return 20*zarabotuvacka()/100;
- }
- };
- int soIstaZarabotuvachka(Vozac **vozaci,int n,Vozac *pok){
- int brojac=0;
- for(int i=0;i<n;i++){
- if(*pok==*vozaci[i]){
- brojac++;
- }
- }
- return brojac;
- }
- int main() {
- int n, x;
- cin >> n >> x;
- Vozac **v = new Vozac*[n];
- char ime[100];
- int vozrast;
- int trki;
- bool vet;
- for(int i = 0; i < n; ++i) {
- cin >> ime >> vozrast >> trki >> vet;
- if(i < x) {
- float cena_avto;
- cin >> cena_avto;
- v[i] = new Avtomobilist(ime, vozrast, trki, vet, cena_avto);
- } else {
- int mokjnost;
- cin >> mokjnost;
- v[i] = new Motociklist(ime, vozrast, trki, vet, mokjnost);
- }
- }
- cout << "=== DANOK ===" << endl;
- for(int i = 0; i < n; ++i) {
- cout << *v[i];
- cout << v[i]->danok() << endl;
- }
- cin >> ime >> vozrast >> trki >> vet;
- int mokjnost;
- cin >> mokjnost;
- Vozac *vx = new Motociklist(ime, vozrast, trki, vet, mokjnost);
- cout << "=== VOZAC X ===" << endl;
- cout << *vx;
- cout << "=== SO ISTA ZARABOTUVACKA KAKO VOZAC X ===" << endl;
- cout << soIstaZarabotuvachka(v, n, vx);
- for(int i = 0; i < n; ++i) {
- delete v[i];
- }
- delete [] v;
- delete vx;
- return 0;
- }
- 4. Картичка
- #include<iostream>
- #include<string.h>
- using namespace std;
- class Karticka {
- protected:
- char smetka[16];
- int pin;
- bool povekjePin;
- public:
- Karticka(char* smetka,int pin) {
- strcpy(this->smetka,smetka);
- this->pin=pin;
- this->povekjePin=false;
- }
- // дополниете ја класата
- bool getDopolnitelenPin() {
- return povekjePin;
- }
- char *getSmetka() {
- return smetka;
- }
- virtual int tezinaProbivanje() {
- int temp=pin;
- int tezina=0;
- while(temp) {
- temp/=10;
- tezina++;
- }
- return tezina;
- }
- friend ostream &operator<<(ostream &out, Karticka &k) {
- out<<k.smetka<<": "<<k.tezinaProbivanje()<<endl;
- return out;
- }
- virtual ~Karticka() {}
- };
- //вметнете го кодот за SpecijalnaKarticka
- class SpecijalnaKarticka: public Karticka {
- private:
- int *dopolnitelni;
- int pinkodovi;
- const static int P;
- public:
- SpecijalnaKarticka(char *smetka, int pin): Karticka(smetka,pin) {
- dopolnitelni=new int[0];
- pinkodovi=0;
- povekjePin=true;
- }
- //get metodi za exceptiono posle
- int getPINkodovi() {
- return pinkodovi;
- }
- int getP() {
- return P;
- }
- int tezinaProbivanje() {
- return Karticka::tezinaProbivanje()+pinkodovi;
- }
- SpecijalnaKarticka &operator+=(int kod) {
- int *pom=dopolnitelni;
- dopolnitelni=new int[pinkodovi+1];
- for(int i=0; i<pinkodovi; i++) {
- dopolnitelni[i]=pom[i];
- }
- dopolnitelni[pinkodovi]=kod;
- pinkodovi++;
- return *this;
- }
- };
- const int SpecijalnaKarticka::P=4;
- class Banka {
- private:
- char naziv[30];
- Karticka *karticki[20];
- int broj;
- static int LIMIT;
- public:
- Banka(char *naziv, Karticka** karticki,int broj ) {
- strcpy(this->naziv,naziv);
- for (int i=0; i<broj; i++) {
- //ako kartickata ima dopolnitelni pin kodovi
- if (karticki[i]->getDopolnitelenPin()) {
- this->karticki[i]=new SpecijalnaKarticka(*dynamic_cast<SpecijalnaKarticka*>(karticki[i]));
- } else this->karticki[i]=new Karticka(*karticki[i]);
- }
- this->broj=broj;
- }
- ~Banka() {
- for (int i=0; i<broj; i++) delete karticki[i];
- }
- //да се дополни класата
- void dodadiDopolnitelenPin(char * smetka, int novPin) {
- for(int i=0; i<broj; i++) {
- if(strcmp(karticki[i]->getSmetka(),smetka)==0&&karticki[i]->getDopolnitelenPin()) {
- SpecijalnaKarticka *s=dynamic_cast<SpecijalnaKarticka*>(karticki[i]);
- *s+=novPin;
- }
- }
- }
- void pecatiKarticki() {
- cout<<"Vo bankata "<<naziv<<" moze da se probijat kartickite:"<<endl;
- for(int i=0; i<broj; i++)
- if(karticki[i]->tezinaProbivanje()<=LIMIT)
- cout<<*karticki[i];
- }
- static void setLIMIT(int L) {
- LIMIT=L;
- }
- };
- int Banka::LIMIT=7;
- int main() {
- Karticka **niza;
- int n,m,pin;
- char smetka[16];
- bool daliDopolnitelniPin;
- cin>>n;
- niza=new Karticka*[n];
- for (int i=0; i<n; i++) {
- cin>>smetka;
- cin>>pin;
- cin>>daliDopolnitelniPin;
- if (!daliDopolnitelniPin)
- niza[i]=new Karticka(smetka,pin);
- else
- niza[i]=new SpecijalnaKarticka(smetka,pin);
- }
- Banka komercijalna("Komercijalna",niza,n);
- for (int i=0; i<n; i++) delete niza[i];
- delete [] niza;
- cin>>m;
- for (int i=0; i<m; i++) {
- cin>>smetka>>pin;
- komercijalna.dodadiDopolnitelenPin(smetka,pin);
- }
- Banka::setLIMIT(5);
- komercijalna.pecatiKarticki();
- }
- 5. Опера и Балет
- #include<iostream>
- #include<string.h>
- using namespace std;
- //место за вашиот код
- class Delo{
- protected:
- char ime[50];
- int godina;
- char poteklo[50];
- public:
- Delo(){}
- Delo(char* i,int g,char* z){
- strcpy(ime,i);
- strcpy(poteklo,z);
- godina=g;
- }
- bool operator==(Delo& d){
- return (strcmp(ime,d.ime))==0;
- }
- int getGodina(){
- return godina;
- }
- char* getPoteklo(){
- return poteklo;
- }
- char* getIme(){
- return ime;
- }
- Delo& operator=(const Delo& d){
- strcpy(ime,d.ime);
- strcpy(poteklo,d.poteklo);
- godina=d.godina;
- return *this;
- }
- };
- class Pretstava{
- protected:
- Delo d;
- int karti;
- char data[15];
- public:
- Pretstava(Delo d,int brojProdadeni,char* data){
- karti=brojProdadeni;
- this->d=d;
- strcpy(this->data,data);
- }
- virtual int cena(){
- int n,m;
- int god=d.getGodina();
- if(god>1900) m=50;
- else if(god>1800) m=75;
- else m=100;
- if(strcmp(d.getPoteklo(),"Rusija")==0) n=150;
- else if(strcmp(d.getPoteklo(),"Italija")==0) n=100;
- else n=80;
- return m+n;
- }
- Delo getDelo(){
- return d;
- }
- int getKarti(){
- return karti;
- }
- };
- int brojPretstaviNaDelo(Pretstava** pole,int n,Delo& f){
- int counter=0;
- for(int i=0;i<n;i++){
- if(pole[i]->getDelo()==f) counter++;
- }
- return counter;
- }
- int prihod(Pretstava** pole,int n){
- int profit=0;
- for(int i=0;i<n;i++){
- profit+=pole[i]->cena()*pole[i]->getKarti();
- }
- return profit;
- }
- class Opera:public Pretstava{
- protected:
- public:
- Opera(Delo d,int brojProdadeni,char* data):Pretstava(d,brojProdadeni,data){
- }
- };
- class Balet:public Pretstava{
- protected:
- static int CENABALET;
- public:
- Balet(Delo d,int brojProdadeni,char* data):Pretstava(d,brojProdadeni,data){
- }
- int cena(){
- return Pretstava::cena()+CENABALET;
- }
- static void setCenaBalet(int n){
- CENABALET=n;
- }
- };
- int Balet::CENABALET=150;
- //citanje na delo
- Delo readDelo(){
- char ime[50];
- int godina;
- char zemja[50];
- cin>>ime>>godina>>zemja;
- return Delo(ime,godina,zemja);
- }
- //citanje na pretstava
- Pretstava* readPretstava(){
- int tip; //0 za Balet , 1 za Opera
- cin>>tip;
- Delo d=readDelo();
- int brojProdadeni;
- char data[15];
- cin>>brojProdadeni>>data;
- if (tip==0) return new Balet(d,brojProdadeni,data);
- else return new Opera(d,brojProdadeni,data);
- }
- int main(){
- int test_case;
- cin>>test_case;
- switch(test_case){
- case 1:
- //Testiranje na klasite Opera i Balet
- {
- cout<<"======TEST CASE 1======="<<endl;
- Pretstava* p1=readPretstava();
- cout<<p1->getDelo().getIme()<<endl;
- Pretstava* p2=readPretstava();
- cout<<p2->getDelo().getIme()<<endl;
- }break;
- case 2:
- //Testiranje na klasite Opera i Balet so cena
- {
- cout<<"======TEST CASE 2======="<<endl;
- Pretstava* p1=readPretstava();
- cout<<p1->cena()<<endl;
- Pretstava* p2=readPretstava();
- cout<<p2->cena()<<endl;
- }break;
- case 3:
- //Testiranje na operator ==
- {
- cout<<"======TEST CASE 3======="<<endl;
- Delo f1=readDelo();
- Delo f2=readDelo();
- Delo f3=readDelo();
- if (f1==f2) cout<<"Isti se"<<endl; else cout<<"Ne se isti"<<endl;
- if (f1==f3) cout<<"Isti se"<<endl; else cout<<"Ne se isti"<<endl;
- }break;
- case 4:
- //testiranje na funkcijata prihod
- {
- cout<<"======TEST CASE 4======="<<endl;
- int n;
- cin>>n;
- Pretstava **pole=new Pretstava*[n];
- for (int i=0;i<n;i++){
- pole[i]=readPretstava();
- }
- cout<<prihod(pole,n);
- }break;
- case 5:
- //testiranje na prihod so izmena na cena za 3d proekcii
- {
- cout<<"======TEST CASE 5======="<<endl;
- int cenaBalet;
- cin>>cenaBalet;
- Balet::setCenaBalet(cenaBalet);
- int n;
- cin>>n;
- Pretstava **pole=new Pretstava*[n];
- for (int i=0;i<n;i++){
- pole[i]=readPretstava();
- }
- cout<<prihod(pole,n);
- }break;
- case 6:
- //testiranje na brojPretstaviNaDelo
- {
- cout<<"======TEST CASE 6======="<<endl;
- int n;
- cin>>n;
- Pretstava **pole=new Pretstava*[n];
- for (int i=0;i<n;i++){
- pole[i]=readPretstava();
- }
- Delo f=readDelo();
- cout<<brojPretstaviNaDelo(pole,n,f);
- }break;
- };
- return 0;
- }
- 6. Студент
- #include<iostream>
- #include<string.h>
- using namespace std;
- class BadInputException {
- private:
- char msg[100];
- public:
- BadInputException(char *msg){
- strcpy(this->msg,msg);
- }
- void print(){
- cout<<msg<<endl;
- }
- };
- class StudentKurs {
- protected:
- char ime[30];
- int ocenka;
- bool daliUsno;
- static int MAX;
- public:
- StudentKurs(char* ime,int finalenIspit) {
- strcpy(this->ime,ime);
- this->ocenka=finalenIspit;
- this->daliUsno=false;
- }
- //дополни ја класата
- static void setMAX (int max) {
- MAX = max;
- }
- bool getDaliUsno() {
- return daliUsno;
- }
- virtual int grade () {
- return ocenka;
- }
- virtual ~StudentKurs () {}
- virtual StudentKurs& operator += (char *op) {
- return *this;
- }
- friend ostream& operator << (ostream &x, StudentKurs &s) {
- x << s.ime << " --- "<<s.grade()<<endl;
- return x;
- }
- char *getIme () {
- return ime;
- }
- };
- int StudentKurs::MAX = 10;
- //вметни го кодот за StudentKursUsno
- class StudentKursUsno : public StudentKurs {
- private:
- char *opisna;
- public:
- StudentKursUsno(char* ime,int finalenIspit)
- : StudentKurs (ime,finalenIspit) {
- daliUsno = true;
- }
- int grade () {
- if(strcmp(opisna,"odlicen")==0&&ocenka+2 <= MAX)
- return StudentKurs::grade() + 2;
- if(strcmp(opisna,"dobro")==0&&ocenka+1 <= MAX)
- return StudentKurs::grade () + 1;
- if(strcmp(opisna,"losho")==0&&ocenka-1 <= MAX)
- return StudentKurs::grade () - 1;
- return StudentKurs::grade ();
- }
- ~StudentKursUsno () {
- delete [] opisna;
- }
- friend ostream& operator << (ostream &x, StudentKursUsno &s) {
- x << s.ime << " --- "<<s.grade()<<endl;
- return x;
- }
- StudentKursUsno& operator += (char *op) {
- opisna = new char [strlen(op)+1];
- int flag = 0,k=0;
- for(int i=0; i<strlen(op); i++) {
- if(isalpha(op[i])) {
- opisna[k]=op[i];
- k++;
- } else flag = 1;
- }
- if(flag)
- throw BadInputException("Greshna opisna ocenka");
- return *this;
- }
- };
- class KursFakultet {
- private:
- char naziv[30];
- StudentKurs *studenti[20];
- int broj;
- static const int MINOCENKA = 6;
- public:
- KursFakultet(char *naziv, StudentKurs** studenti,int broj ) {
- strcpy(this->naziv,naziv);
- for (int i=0; i<broj; i++) {
- //ako studentot ima usno isprashuvanje
- if (studenti[i]->getDaliUsno()) {
- this->studenti[i]=new StudentKursUsno(*dynamic_cast<StudentKursUsno*>(studenti[i]));
- } else this->studenti[i]=new StudentKurs(*studenti[i]);
- }
- this->broj=broj;
- }
- ~KursFakultet() {
- for (int i=0; i<broj; i++) delete studenti[i];
- }
- //дополни ја класата
- void pecatiStudenti () {
- cout<<"Kursot "<<naziv<<" go polozile:"<<endl;
- for(int i=0; i<broj; i++) {
- if(studenti[i]->grade()>=MINOCENKA)
- cout<<*studenti[i];
- }
- }
- void postaviOpisnaOcenka (char *ime, char *opisnaOcenka) {
- for(int i=0; i<broj; i++) {
- if(strcmp(ime,studenti[i]->getIme())==0)
- *studenti[i]+=opisnaOcenka;
- }
- }
- };
- int main() {
- StudentKurs **niza;
- int n,m,ocenka;
- char ime[30],opisna[10];
- bool daliUsno;
- cin>>n;
- niza=new StudentKurs*[n];
- for (int i=0; i<n; i++) {
- cin>>ime;
- cin>>ocenka;
- cin>>daliUsno;
- if (!daliUsno)
- niza[i]=new StudentKurs(ime,ocenka);
- else
- niza[i]=new StudentKursUsno(ime,ocenka);
- }
- KursFakultet programiranje("OOP",niza,n);
- for (int i=0; i<n; i++) delete niza[i];
- delete [] niza;
- cin>>m;
- for (int i=0; i<m; i++) {
- cin>>ime>>opisna;
- try {
- programiranje.postaviOpisnaOcenka(ime,opisna);
- } catch (BadInputException &e) {
- e.print();
- }
- }
- StudentKurs::setMAX(9);
- programiranje.pecatiStudenti();
- }
- 7. Игри
- #include <iostream>
- #include <cstring>
- using namespace std;
- // Your code goes here
- class ExistingGame {
- private:
- char msg[256];
- public:
- ExistingGame(char msg_txt[]) {
- strncpy(this->msg, msg_txt, 255);
- this->msg[255] = '\0';
- }
- void message() {
- std::cout<<this->msg<<std::endl;
- }
- };
- class Game {
- protected:
- char name[100];
- float price;
- bool on_sale;
- public:
- Game() {
- name[0] = '\0';
- }
- Game(char *n, float p, bool s=false) {
- strncpy(name, n, 99);
- this->name[99] = '\0';
- price = p;
- on_sale = s;
- }
- virtual float get_price() {
- if (on_sale) {
- return price * 0.3F;
- }
- return price;
- }
- bool operator==(Game& g) {
- return !strcmp(this->name, g.name);
- }
- friend ostream & operator<<(ostream & o, const Game& g);
- friend istream & operator>>(istream & i, Game& g);
- };
- class SubscriptionGame : public Game {
- protected:
- float monthly_fee;
- int month, year;
- public:
- SubscriptionGame() {
- name[0] = '\0';
- }
- SubscriptionGame(char *n, float p, bool s, float mf, int m, int y):
- Game(n, p, s),
- monthly_fee(mf),
- month(m),
- year(y) { }
- float get_price() {
- float price = Game::get_price();
- int months=0;
- if (year<2018) {
- months = (12 - this->month) + (2017 - year)*12 + 5;
- } else {
- months = 5 - this->month;
- }
- price += months * monthly_fee;
- return price;
- }
- friend ostream & operator<<(ostream & o, SubscriptionGame& sg);
- friend istream & operator>>(istream & i, SubscriptionGame& g);
- };
- ostream & operator<<(ostream & o, const Game& g) {
- o<<"Game: "<< g.name <<", regular price: $" << g.price;
- if (g.on_sale) {
- o<<", bought on sale";
- }
- return o;
- }
- ostream & operator<<(ostream & o, SubscriptionGame& sg) {
- Game * tmp = dynamic_cast<Game*>(&sg);
- o << *tmp;
- o<<", monthly fee: $"<< sg.monthly_fee
- <<", purchased: "<< sg.month << "-" << sg.year<<std::endl;
- return o;
- }
- istream & operator>>(istream & is, Game &g) {
- is.get();
- is.getline(g.name,100);
- is>>g.price>>g.on_sale;
- return is;
- }
- istream & operator>>(istream & is, SubscriptionGame &g) {
- is.get();
- is.getline(g.name,100);
- is>>g.price>>g.on_sale;
- is>>g.monthly_fee >> g.month >> g.year;
- return is;
- }
- class User {
- private:
- void obj_copy(const User * orig, User * cpy) {
- strcpy(cpy->username, orig->username);
- cpy->num_games = orig->num_games;
- cpy->games = new Game*[cpy->num_games];
- for (int i=0; i< cpy->num_games; ++i) {
- cpy->games[i] = new Game(*(orig->games[i]));
- }
- }
- protected:
- char username[100];
- Game ** games;
- int num_games;
- public:
- User (char const * const un="") {
- strncpy(this->username, un, 99);
- this->username[99] = '\0';
- games = 0;
- num_games = 0;
- }
- User (const User& orig) {
- obj_copy(&orig,this);
- }
- ~User() {
- for (int i=0; i < this->num_games; ++i) {
- delete this->games[i];
- }
- delete [] games;
- }
- User& operator=(User & orig) {
- if (&orig != this) {
- for (int i=0; i < this->num_games; ++i) {
- delete orig.games[i];
- }
- delete [] orig.games;
- obj_copy(&orig, this);
- }
- return *this;
- }
- User& operator+=(Game&g) {
- Game ** new_games = new Game*[this->num_games+1];
- for (int i=0; i < (this->num_games); ++i) {
- if ( (*(this->games[i])) == g) {
- throw ExistingGame("The game is already in the collection");
- }
- new_games[i] = games[i];
- }
- for (int i=0; i < (this->num_games); ++i) {
- new_games[i] = games[i];
- }
- SubscriptionGame * sg = dynamic_cast< SubscriptionGame* >(&g);
- if(sg) {
- new_games[num_games] = new SubscriptionGame(*sg);
- } else {
- //cout<<"Game"<<endl;
- new_games[num_games] = new Game(g);
- }
- delete [] this->games;
- this->games = new_games;
- this->num_games++;
- //cout<<"User: "<< this->username<<endl;
- // for (int i=0; i<this->num_games;++i){
- // cout<< *(this->games[i]);
- // }
- return *this;
- }
- Game& get_game(int i) {
- return (*(this->games[i]));
- }
- float total_spent() {
- float sum = 0.0f;
- for (int i=0; i<this->num_games; ++i) {
- sum += games[i]->get_price();
- }
- return sum;
- }
- char const * const get_username() {
- return this->username;
- }
- int get_games_number() {
- return this->num_games;
- }
- };
- ostream & operator<<(ostream & o, User& u) {
- o<<"\nUser: "<<u.get_username()<<"\n";
- for (int i=0; i < u.get_games_number(); ++i) {
- Game * g;
- SubscriptionGame * sg;
- g = &(u.get_game(i));
- sg = dynamic_cast<SubscriptionGame *> (g);
- if (sg) {
- cout<<"- "<<(*sg);
- } else {
- cout<<"- "<<(*g);
- }
- cout<<"\n";
- }
- return o;
- }
- int main() {
- int test_case_num;
- cin>>test_case_num;
- // for Game
- char game_name[100];
- float game_price;
- bool game_on_sale;
- // for SubscritionGame
- float sub_game_monthly_fee;
- int sub_game_month, sub_game_year;
- // for User
- char username[100];
- int num_user_games;
- if (test_case_num == 1) {
- cout<<"Testing class Game and operator<< for Game"<<std::endl;
- cin.get();
- cin.getline(game_name,100);
- cin>>game_price>>game_on_sale;
- Game g(game_name, game_price, game_on_sale);
- cout<<g;
- } else if (test_case_num == 2) {
- cout<<"Testing class SubscriptionGame and operator<< for SubscritionGame"<<std::endl;
- cin.get();
- cin.getline(game_name, 100);
- cin>>game_price>>game_on_sale;
- cin>>sub_game_monthly_fee;
- cin>>sub_game_month>>sub_game_year;
- SubscriptionGame sg(game_name, game_price, game_on_sale, sub_game_monthly_fee, sub_game_month, sub_game_year);
- cout<<sg;
- } else if (test_case_num == 3) {
- cout<<"Testing operator>> for Game"<<std::endl;
- Game g;
- cin>>g;
- cout<<g;
- } else if (test_case_num == 4) {
- cout<<"Testing operator>> for SubscriptionGame"<<std::endl;
- SubscriptionGame sg;
- cin>>sg;
- cout<<sg;
- } else if (test_case_num == 5) {
- cout<<"Testing class User and operator+= for User"<<std::endl;
- cin.get();
- cin.getline(username,100);
- User u(username);
- int num_user_games;
- int game_type;
- cin >>num_user_games;
- try {
- for (int i=0; i<num_user_games; ++i) {
- cin >> game_type;
- Game *g;
- // 1 - Game, 2 - SubscriptionGame
- if (game_type == 1) {
- cin.get();
- cin.getline(game_name, 100);
- cin>>game_price>>game_on_sale;
- g = new Game(game_name, game_price, game_on_sale);
- } else if (game_type == 2) {
- cin.get();
- cin.getline(game_name, 100);
- cin>>game_price>>game_on_sale;
- cin>>sub_game_monthly_fee;
- cin>>sub_game_month>>sub_game_year;
- g = new SubscriptionGame(game_name, game_price, game_on_sale, sub_game_monthly_fee, sub_game_month, sub_game_year);
- }
- u+=(*g);
- }
- } catch(ExistingGame &ex) {
- ex.message();
- }
- cout<<u;
- } else if (test_case_num == 6) {
- cout<<"Testing exception ExistingGame for User"<<std::endl;
- cin.get();
- cin.getline(username,100);
- User u(username);
- int num_user_games;
- int game_type;
- cin >>num_user_games;
- for (int i=0; i<num_user_games; ++i) {
- cin >> game_type;
- Game *g;
- // 1 - Game, 2 - SubscriptionGame
- if (game_type == 1) {
- cin.get();
- cin.getline(game_name, 100);
- cin>>game_price>>game_on_sale;
- g = new Game(game_name, game_price, game_on_sale);
- } else if (game_type == 2) {
- cin.get();
- cin.getline(game_name, 100);
- cin>>game_price>>game_on_sale;
- cin>>sub_game_monthly_fee;
- cin>>sub_game_month>>sub_game_year;
- g = new SubscriptionGame(game_name, game_price, game_on_sale, sub_game_monthly_fee, sub_game_month, sub_game_year);
- }
- //cout<<(*g);
- try {
- u+=(*g);
- } catch(ExistingGame &ex) {
- ex.message();
- }
- }
- cout<<u;
- } else if (test_case_num == 7) {
- cout<<"Testing total_spent method() for User"<<std::endl;
- cin.get();
- cin.getline(username,100);
- User u(username);
- int num_user_games;
- int game_type;
- cin >>num_user_games;
- for (int i=0; i<num_user_games; ++i) {
- cin >> game_type;
- Game *g;
- // 1 - Game, 2 - SubscriptionGame
- if (game_type == 1) {
- cin.get();
- cin.getline(game_name, 100);
- cin>>game_price>>game_on_sale;
- g = new Game(game_name, game_price, game_on_sale);
- } else if (game_type == 2) {
- cin.get();
- cin.getline(game_name, 100);
- cin>>game_price>>game_on_sale;
- cin>>sub_game_monthly_fee;
- cin>>sub_game_month>>sub_game_year;
- g = new SubscriptionGame(game_name, game_price, game_on_sale, sub_game_monthly_fee, sub_game_month, sub_game_year);
- }
- //cout<<(*g);
- u+=(*g);
- }
- cout<<u;
- cout<<"Total money spent: $"<<u.total_spent()<<endl;
- }
- }
- 8. Концерти
- #include <iostream>
- #include <cstring>
- using namespace std;
- class Koncert {
- private:
- char ime[20];
- char lokacija[20];
- static float sezonskiPopust;
- float cenaBilet; //Vo denari
- public:
- Koncert() {}
- Koncert(char *_ime, char *_lokacija, float _cenaBilet) {
- strcpy(this->ime, _ime);
- strcpy(this->lokacija, _lokacija);
- this->cenaBilet = _cenaBilet;
- }
- ~Koncert() {}
- static void setSezonskiPopust(float popust) {
- sezonskiPopust = popust;
- }
- static float getSezonskiPopust() {
- return sezonskiPopust;
- }
- virtual float cena() {
- return cenaBilet - cenaBilet * sezonskiPopust;
- }
- float getCenaBilet() {
- return cenaBilet;
- }
- char *getNaziv() {
- return ime;
- }
- char *getLokacija() {
- return lokacija;
- }
- void setCenaBilet(int cena) {
- cenaBilet = cena;
- }
- void setNaziv(char *novNaziv) {
- strcpy(ime, novNaziv);
- }
- void setLokacija(char *novaLokacija) {
- strcpy(lokacija, novaLokacija);
- }
- };
- class ElektronskiKoncert : public Koncert {
- private:
- char *dj;
- float vremetraenje; //Vo saati
- bool daliDen; //Dnevna-TRUE, Nokjna-FALSE
- public:
- ElektronskiKoncert() {
- this->dj = new char[0];
- }
- ElektronskiKoncert(char *_ime, char *_lokacija, float _cenaBilet,char *_dj, float _vremetraenje, bool _daliDen) : Koncert(_ime, _lokacija, _cenaBilet) {
- this->dj = new char[strlen(_dj)+1];
- strcpy(this->dj, _dj);
- this->vremetraenje = _vremetraenje;
- this->daliDen = _daliDen;
- }
- ~ElektronskiKoncert() {
- delete [] dj;
- }
- float cena() {
- float vkupno = Koncert::cena();
- if (vremetraenje > 7.0) {
- vkupno += 360;
- } else if (vremetraenje > 5.0) {
- vkupno += 150;
- }
- if (daliDen) {
- vkupno -= 50.0;
- } else {
- vkupno += 100.0;
- }
- return vkupno;
- }
- };
- void najskapKoncert(Koncert **koncerti, int n) {
- float sporedba=koncerti[0]->cena();
- int max = 0;
- for (int i=1; i<n; i++) {
- if (sporedba<koncerti[i]->cena()) {
- sporedba = koncerti[i]->cena();
- max = i;
- }
- }
- cout<<"Najskap koncert: "<<koncerti[max]->getNaziv()<<" "<<koncerti[max]->cena()<<endl;
- int brojElektronski = 0;
- for (int i=0; i<n; i++) {
- if (ElektronskiKoncert *ek = dynamic_cast<ElektronskiKoncert*>(koncerti[i])) {
- brojElektronski++;
- }
- }
- cout<<"Elektronski koncerti: "<<brojElektronski<<" od vkupno "<<n<<endl;
- }
- bool prebarajKoncert(Koncert ** koncerti, int n, char * naziv, bool elektronski) {
- if (elektronski) {
- for (int i=0; i<n; i++) {
- if (ElektronskiKoncert *ek = dynamic_cast<ElektronskiKoncert*>(koncerti[i])) {
- if(strcmp(naziv, koncerti[i]->getNaziv())==0) {
- cout<<koncerti[i]->getNaziv()<<" "<<koncerti[i]->cena()<<endl;
- return true;
- }
- }
- }
- } else {
- for (int i=0; i<n; i++) {
- if(strcmp(naziv, koncerti[i]->getNaziv())==0) {
- cout<<koncerti[i]->getNaziv()<<" "<<koncerti[i]->cena()<<endl;
- return true;
- }
- }
- }
- return false;
- }
- float Koncert::sezonskiPopust(0.20);
- int main() {
- int tip,n,novaCena;
- char naziv[100], lokacija[100], imeDJ[40];
- bool dnevna;
- float cenaBilet, novPopust;
- float casovi;
- cin>>tip;
- if (tip==1) { //Koncert
- cin>>naziv>>lokacija>>cenaBilet;
- Koncert k1(naziv,lokacija,cenaBilet);
- cout<<"Kreiran e koncert so naziv: "<<k1.getNaziv()<<endl;
- } else if (tip==2) { //cena - Koncert
- cin>>naziv>>lokacija>>cenaBilet;
- Koncert k1(naziv,lokacija,cenaBilet);
- cout<<"Osnovna cena na koncertot so naziv "<<k1.getNaziv()<< " e: " <<k1.cena()<<endl;
- } else if (tip==3) { //ElektronskiKoncert
- cin>>naziv>>lokacija>>cenaBilet>>imeDJ>>casovi>>dnevna;
- ElektronskiKoncert s(naziv,lokacija,cenaBilet,imeDJ,casovi,dnevna);
- cout<<"Kreiran e elektronski koncert so naziv "<<s.getNaziv()<<" i sezonskiPopust "<<s.getSezonskiPopust()<<endl;
- } else if (tip==4) { //cena - ElektronskiKoncert
- cin>>naziv>>lokacija>>cenaBilet>>imeDJ>>casovi>>dnevna;
- ElektronskiKoncert s(naziv,lokacija,cenaBilet,imeDJ,casovi,dnevna);
- cout<<"Cenata na elektronskiot koncert so naziv "<<s.getNaziv()<<" e: "<<s.cena()<<endl;
- } else if (tip==5) { //najskapKoncert
- } else if (tip==6) { //prebarajKoncert
- Koncert ** koncerti = new Koncert *[5];
- int n;
- koncerti[0] = new Koncert("Area","BorisTrajkovski",350);
- koncerti[1] = new ElektronskiKoncert("TomorrowLand","Belgium",8000,"Afrojack",7.5,false);
- koncerti[2] = new ElektronskiKoncert("SeaDance","Budva",9100,"Tiesto",5,true);
- koncerti[3] = new Koncert("Superhiks","PlatoUkim",100);
- koncerti[4] = new ElektronskiKoncert("CavoParadiso","Mykonos",8800,"Guetta",3,true);
- char naziv[100];
- najskapKoncert(koncerti,5);
- } else if (tip==7) { //prebaraj
- Koncert ** koncerti = new Koncert *[5];
- int n;
- koncerti[0] = new Koncert("Area","BorisTrajkovski",350);
- koncerti[1] = new ElektronskiKoncert("TomorrowLand","Belgium",8000,"Afrojack",7.5,false);
- koncerti[2] = new ElektronskiKoncert("SeaDance","Budva",9100,"Tiesto",5,true);
- koncerti[3] = new Koncert("Superhiks","PlatoUkim",100);
- koncerti[4] = new ElektronskiKoncert("CavoParadiso","Mykonos",8800,"Guetta",3,true);
- char naziv[100];
- bool elektronski;
- cin>>elektronski;
- if(prebarajKoncert(koncerti,5, "Area",elektronski))
- cout<<"Pronajden"<<endl;
- else cout<<"Ne e pronajden"<<endl;
- if(prebarajKoncert(koncerti,5, "Area",!elektronski))
- cout<<"Pronajden"<<endl;
- else cout<<"Ne e pronajden"<<endl;
- } else if (tip==8) { //smeni cena
- Koncert ** koncerti = new Koncert *[5];
- int n;
- koncerti[0] = new Koncert("Area","BorisTrajkovski",350);
- koncerti[1] = new ElektronskiKoncert("TomorrowLand","Belgium",8000,"Afrojack",7.5,false);
- koncerti[2] = new ElektronskiKoncert("SeaDance","Budva",9100,"Tiesto",5,true);
- koncerti[3] = new Koncert("Superhiks","PlatoUkim",100);
- koncerti[2] -> setSezonskiPopust(0.9);
- najskapKoncert(koncerti,4);
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment