Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class SaksiskoCveke{
- protected:
- char ime[50];
- int cena;
- char familija[200];
- public:
- SaksiskoCveke(){}
- SaksiskoCveke(char ime[],int cena,char familija[]){
- strcpy(this->ime, ime);
- this -> cena = cena;
- strcpy(this->familija, familija);
- }
- void setIme(char ime[]){
- strcpy(this->ime,ime);
- }
- char *getIme(){
- return ime;
- }
- void setCena(int cena){
- this->cena = cena;
- }
- int getCena(){
- return cena;
- }
- void setFamilija(char familija[]){
- strcpy(this->familija, familija);
- }
- char *getFamilija(){
- return familija;
- }
- virtual int presmetajCena()=0;
- bool operator==(SaksiskoCveke &sc){
- return strcmp(familija,sc.familija)==0;
- }
- void pecati(){
- cout<<ime<<" "<<familija<<" ";
- }
- ~SaksiskoCveke(){}
- };
- class SoCvet : public SaksiskoCveke{
- private:
- int rascvetani;
- public:
- SoCvet(){}
- SoCvet(char ime[], int cena, char familija[], int rascvetani) : SaksiskoCveke(ime, cena, familija){
- this->rascvetani = rascvetani;
- }
- void setRascvetani(int rascvetani){
- this->rascvetani = rascvetani;
- }
- int getRascvetani(){
- return rascvetani;
- }
- int presmetajCena(){
- return cena + rascvetani;
- }
- };
- class BezCvet : public SaksiskoCveke{
- private:
- int starost;
- public:
- BezCvet(){}
- BezCvet(char ime[], int cena, char familija[],int starost) : SaksiskoCveke(ime, cena, familija){
- this->starost = starost;
- }
- void setStarost(int starost){
- this->starost = starost;
- }
- int getStarost(){
- return starost;
- }
- int presmetajCena(){
- if(starost <= 10) return cena +20;
- else if(starost <= 35) return cena +10;
- else return cena;
- }
- ~BezCvet(){}
- };
- void pecatiMaxCena(SaksiskoCveke **sc,int n,BezCvet &bc){
- int maxx = 0;
- int index = 0;
- for(int i=0;i<n;i++){
- if(*(sc[i]) == bc){
- int cena = sc[i]->presmetajCena();
- if(cena > maxx){
- maxx = cena;
- index = i;
- }
- }
- }
- sc[index]->pecati();
- cout << maxx << endl;
- }
- int main(){
- char ime[10],familija[10];
- int tip,starost,broj,cena;
- int n;
- cin>>n;
- SaksiskoCveke **cvekinja;
- cvekinja=new SaksiskoCveke*[n];
- for (int i=0;i<n;i++){
- cin>>tip>>ime>>cena>>familija;
- if (tip==1) {
- cin>>starost;
- cvekinja[i]=new BezCvet(ime,cena,familija,starost);
- }
- else {
- cin>>broj;
- cvekinja[i]=new SoCvet(ime,cena,familija,broj);
- }
- }
- BezCvet nov("opuntia",90,"cactus",10);
- pecatiMaxCena(cvekinja,n,nov);
- for (int i=0;i<n;i++) delete cvekinja[i];
- delete [] cvekinja;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement