Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- class SaksiskoCvekje{
- protected:
- char *ime;
- int cena;
- char *family;
- public:
- SaksiskoCvekje(char *i, int c, char *f){
- ime = new char[strlen(i)+1];
- strcpy(ime, i);
- cena = c;
- family = new char[strlen(f)+1];
- }
- char *getFamily(){
- return family;
- }
- int getCena(){
- return cena;
- }
- char *getIme(){
- return ime;
- }
- virtual int presmetajCena(){
- return 0;
- }
- };
- class BezCvet : public SaksiskoCvekje{
- int staro;
- public:
- BezCvet(char *i, int c, char *f, int s) : SaksiskoCvekje(i, c, f){
- staro = s;
- }
- void setStaro(int x){
- staro = x;
- }
- int getStaro(){
- return staro;
- }
- int presmetajCena(){
- if(getStaro()<10) return cena+20;
- else if(getStaro()<35) return cena+10;
- else return cena;
- }
- };
- class SoCvet : public SaksiskoCvekje{
- int cvetovi;
- public:
- SoCvet(char *i, int c, char *f, int cvet) : SaksiskoCvekje(i, c, f){
- cvetovi = cvet;
- }
- void setCvetovi(int x){
- cvetovi = x;
- }
- int getCvetovi(){
- return cvetovi;
- }
- int presmetajCena(){
- return cena+getCvetovi();
- }
- };
- bool operator==(SaksiskoCvekje *s1, SaksiskoCvekje &s2){
- if(s1->getFamily()==s2.getFamily()) return true;
- else return false;
- }
- void pecatiMaxCena(SaksiskoCvekje **s, int n, BezCvet &C) {
- SaksiskoCvekje *max = s[0];
- for(int i = 0; i < n; i++) {
- if(strcmp(s[i]->getFamily(), C.getFamily())==0) {
- if(s[i]->getCena() > max->getCena())
- max = s[i];
- }
- }
- cout<< max->getIme() << " " << max->getFamily() << "cactus " << max->presmetajCena();
- }
- int main(){
- char ime[10],familija[10];
- int tip,starost,broj,cena;
- int n;
- cin>>n;
- SaksiskoCvekje **cvekinja;
- cvekinja=new SaksiskoCvekje*[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